[Bug 171111] (libperl) could not run system-config-printer
bugzilla at redhat.com
bugzilla at redhat.com
Tue Oct 25 22:20:29 UTC 2005
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.
Summary: (libperl) could not run system-config-printer
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=171111
jvdias at redhat.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |MODIFIED
------- Additional Comments From jvdias at redhat.com 2005-10-25 18:20 EST -------
OK, I've finally found and fixed the problem here, now that I've brought my
USB printer in to work from home (unecessarily! :-)
perl was looking for an IOCPARM_LEN(ioctl_number) macro to return the
length bits from the ioctl function number. This works OK on BSD systems.
But if IOCPARM_LEN was not defined, perl.h "guessed" and defined
IOCPARM_LEN(ioctl_number) to be 256 . Linux has no IOCPARM_LEN(x) macro.
So any printer that returned an ID string > 256 bytes would cause a SIGSEGV .
Linux has the _IOC_SIZE(x) macro, so I changed perl.h to use _IOC_SIZE(x) if
IOCPARM_LEN is not defined instead of constant 256.
I have submitted this bug upstream with perlbug - waiting for a RT #.
So this bug is now fixed in Rawhide (FC-5) with perl-5.8.7-0.6.fc5 .
It will now have to be fixed in RHEL-3, RHEL-4, FC-4, FC-3 .
--
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the Fedora-perl-devel-list
mailing list