[Bug 171111] (libperl) could not run system-config-printer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |MODIFIED




------- Additional Comments From jvdias@xxxxxxxxxx  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.


[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Legacy Announce]     [Fedora PHP Devel]     [Kernel Devel]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite Information]
  Powered by Linux