[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