[Bug 171111] (libperl) could not run system-config-printer
by Red Hat Bugzilla
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
------- Additional Comments From jvdias(a)redhat.com 2006-03-13 11:45 EST -------
I have raised bug 185240 to cover the issues raised in
Comment #11, Comment #12, Comment #14, Comment #15 -
(perlbug RT #38223) - it will be fixed in perl-5.8.5-24.RHEL4+.
The specific problem with system-config-printer reported in this
bug has definitely been fixed with the current perl-5.8.5-22.RHEL-4
release in RHEL-4-U3 .
--
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.
18 years, 1 month
[Bug 171111] (libperl) could not run system-config-printer
by Red Hat Bugzilla
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
jlieskov(a)redhat.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jlieskov(a)redhat.com
------- Additional Comments From jlieskov(a)redhat.com 2006-03-13 07:48 EST -------
Have run the test script from
https://rt.perl.org/rt3/Ticket/Display.html?id=38223 (will attach this file)
on 3 systems with 3 format of the "perl.h" file:
1, perl 5.8.8
./test.perl
(row,col) = (54,155) => PASS
Form of the patch:
#ifndef IOCPARM_LEN
# ifdef IOCPARM_MASK
/* on BSDish systems we're safe */
# define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
# else
# if defined(_IOC_SIZE) && defined(__GLIBC__)
/* on Linux systems we're safe; except when we're not [perl #38223] */
# define IOCPARM_LEN(x) (_IOC_SIZE(x) < 256 ? 256 : _IOC_SIZE(x))
# else
/* otherwise guess at what's safe */
# define IOCPARM_LEN(x) 256
# endif
# endif
#endif
2, perl 5.8.6
./test.perl
(row,col) = (54,155) => PASS
Form of the patch:
#ifndef IOCPARM_LEN
# ifdef IOCPARM_MASK
/* on BSDish systes we're safe */
# define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
# else
/* otherwise guess at what's safe */
# define IOCPARM_LEN(x) 256
# endif
#endif
=> seems it's enough to hardly set the value of IOCPARM_LEN(x) to 256
and don't take into account the Linux system's branch, because:
3, perl 5.8.6
./test.perl
Possible memory corruption: ioctl overflowed 3rd argument at ./test.perl line 5.
=> FAIL
Form of the patch:
#ifndef IOCPARM_LEN
# ifdef IOCPARM_MASK
/* on BSDish systems we're safe */
# define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
# else
# ifdef _IOC_SIZE
/* on Linux systems we're safe */
# define IOCPARM_LEN(x) _IOC_SIZE(x)
# else
/* otherwise guess at what's safe (we're UNSAFE!) */
# warning "unsafe assumption of IOCPARM_LEN=256"
# define IOCPARM_LEN(x) 256
# endif
# endif
#endif
This patch doesn't work.
So the solution is either to use patch without the linux branch, and hardly
set value of IOCPARM_LEN(x) to 256 (patch 2,), or take into account
_IOC_SIZE and use the newest patch ( patch 1,).
--
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.
18 years, 1 month
[Bug 171111] (libperl) could not run system-config-printer
by Red Hat Bugzilla
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(a)redhat.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |CLOSED
Resolution| |CURRENTRELEASE
------- Additional Comments From jvdias(a)redhat.com 2006-03-12 13:18 EST -------
This bug is fixed: perl programs passing in the length bitfield parameter to
ioctl will now get the correct length, instead of the default 256; as a result,
system-config-printer works fine.
The upstream refinement to this patch was to retain the previous 256 default
as a minimum length; ie., if the ioctl did not pass in the length, and the
argument is less than 256 bytes in length, then it is made to be 256 bytes.
This does not affect system-config-printer, and is a new bug - I'm closing
this bug and raising another to document it.
--
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.
18 years, 1 month