Bug Fix Advisory perl bug fix update

Advisory: RHBA-2009:0961-1
Type: Bug Fix Advisory
Severity: N/A
Issued on: 2009-05-18
Last updated on: 2009-05-18
Affected Products: Red Hat Desktop (v. 4)
Red Hat Enterprise Linux AS (v. 4)
Red Hat Enterprise Linux ES (v. 4)
Red Hat Enterprise Linux WS (v. 4)
OVAL: N/A

Details

Updated perl packages are available.

Perl is a high-level programming language with roots in C, sed, awk and
shell scripting. Perl is particularly useful at handling processes and
files, and is especially good at handling text.

This update resolves the following issues:

* the Alias.pm module contained an error in a regular expression used
internally; any script requiring the module would fail with a range error.
The error is now corrected with this release, letting
scripts use this module successfully. (BZ#203357)

* libnet.cfg is the configuration file for the Lib::Net module, and
controls whether CPAN requests use active or passive FTP. During
installation on 64-bit platforms, this file was placed in
/usr/lib64/perl5/5.8.5/Net instead of /usr/lib/perl5/5.8.5/Net. As a
result, the contents of the file would have no effect on FTP. The spec file
has been updated to make sure that the file is placed in the correct
directory during installation. (BZ#227655)

* concurrent threads may share the one CV object, which is not marked
permanent. Previously, the refcount for this object was not locked before
incrementing it. This could result in the object being freed prematurely,
at which point perl would crash during a closure and report a memory access
failure. A patch has been included from upstream that locks the CV object
before incrementing it, and unlocks it afterwards. This avoids the issue;
as such, a closure while using concurrent threads will not cause this
crash. (BZ#427343)

* previously, when concurrent threads used shared array variables, the
FETCH code could leak a shared RV address into a private SV when using a
foreach loop. This would result in a segmentation fault. A patch has been
included from upstream that identifies and handles RVs separately. Shared
array variables can now be used in concurrent threads without causing this
crash. (BZ#427523)

* a syntax error in the instmodsh script prevented it from starting and the
script would exit with an error message. The error in instmodsh has been
corrected in the version provided with this advisory, and the script now
runs as expected. (BZ#432880)

* the @INC array is a list of directories that Perl searches when loading
modules. The perl package for Red Hat Enterprise Linux supports the
inclusion of a large number of directories in the @INC array. This allows
end-users upgrading from legacy versions of perl to continue using existing
installed modules. The @INC array is initiated each time the perl
interpreter starts; at that moment, only the directories that do actually
exist on the system should be inserted into the @INC array. However,
patches used in previous build of perl disabled this function, meaning that
the @INC array would contain all the candidate directories. An @INC array
containing too many members has a negative impact on the performance of the
perl interpreter, and produces unnecessarily long error
messages. The patches that caused the problem have been replaced in this
update, avoiding this issue. (BZ#456566)

* Perl failed to allow for situations where a user might present it with a
regular expression encoded in ISO-8859-1 together with a string encoded in
UTF-8. In this situation, perl would produce a spurious error message
concerning a "Malformed UTF-8 character". This update includes a patch that
corrects this issue. Perl now converts the regular expression internally
into UTF-8, thereby avoiding the problem. (BZ#467164)

All perl users are advised to upgrade to these updated packages.


Solution

Before applying this update, make sure that all previously-released
errata relevant to your system have been applied.

This update is available via Red Hat Network. Details on how to use
the Red Hat Network to apply this update are available at
http://kbase.redhat.com/faq/FAQ_58_10188

Updated packages

Red Hat Desktop (v. 4)

SRPMS:
perl-5.8.5-49.el4.src.rpm     c431ead381a040ae9083b4d68dcf2902
 
IA-32:
perl-5.8.5-49.el4.i386.rpm     e0d832c4cddfdb58075f8ba8b48cf8da
perl-suidperl-5.8.5-49.el4.i386.rpm     b8a616b1f02a0f49548dda5cc07276b8
 
x86_64:
perl-5.8.5-49.el4.x86_64.rpm     41cf747eef5b919b271af132132ef348
perl-suidperl-5.8.5-49.el4.x86_64.rpm     82f06834fba9a15551eee44207961159
 
Red Hat Enterprise Linux AS (v. 4)

SRPMS:
perl-5.8.5-49.el4.src.rpm     c431ead381a040ae9083b4d68dcf2902
 
IA-32:
perl-5.8.5-49.el4.i386.rpm     e0d832c4cddfdb58075f8ba8b48cf8da
perl-suidperl-5.8.5-49.el4.i386.rpm     b8a616b1f02a0f49548dda5cc07276b8
 
IA-64:
perl-5.8.5-49.el4.ia64.rpm     2ef8420e6085c9db19843f7f9eb2f933
perl-suidperl-5.8.5-49.el4.ia64.rpm     7bd03729123ca502f7743809884449f8
 
PPC:
perl-5.8.5-49.el4.ppc.rpm     39a0a4b899cff0672c9c7d1ca10f33fe
perl-suidperl-5.8.5-49.el4.ppc.rpm     a092be257f23f65c6761382ce7589996
 
s390:
perl-5.8.5-49.el4.s390.rpm     0fb13d1be79639edcbd6105eae8f34d6
perl-suidperl-5.8.5-49.el4.s390.rpm     dbe82f53e0c72b495b0ea71565120f81
 
s390x:
perl-5.8.5-49.el4.s390x.rpm     9b0aa487d1a266606abc76775b436d1c
perl-suidperl-5.8.5-49.el4.s390x.rpm     b01555de55fa486022c2d9005ba6e4c7
 
x86_64:
perl-5.8.5-49.el4.x86_64.rpm     41cf747eef5b919b271af132132ef348
perl-suidperl-5.8.5-49.el4.x86_64.rpm     82f06834fba9a15551eee44207961159
 
Red Hat Enterprise Linux ES (v. 4)

SRPMS:
perl-5.8.5-49.el4.src.rpm     c431ead381a040ae9083b4d68dcf2902
 
IA-32:
perl-5.8.5-49.el4.i386.rpm     e0d832c4cddfdb58075f8ba8b48cf8da
perl-suidperl-5.8.5-49.el4.i386.rpm     b8a616b1f02a0f49548dda5cc07276b8
 
IA-64:
perl-5.8.5-49.el4.ia64.rpm     2ef8420e6085c9db19843f7f9eb2f933
perl-suidperl-5.8.5-49.el4.ia64.rpm     7bd03729123ca502f7743809884449f8
 
x86_64:
perl-5.8.5-49.el4.x86_64.rpm     41cf747eef5b919b271af132132ef348
perl-suidperl-5.8.5-49.el4.x86_64.rpm     82f06834fba9a15551eee44207961159
 
Red Hat Enterprise Linux WS (v. 4)

SRPMS:
perl-5.8.5-49.el4.src.rpm     c431ead381a040ae9083b4d68dcf2902
 
IA-32:
perl-5.8.5-49.el4.i386.rpm     e0d832c4cddfdb58075f8ba8b48cf8da
perl-suidperl-5.8.5-49.el4.i386.rpm     b8a616b1f02a0f49548dda5cc07276b8
 
IA-64:
perl-5.8.5-49.el4.ia64.rpm     2ef8420e6085c9db19843f7f9eb2f933
perl-suidperl-5.8.5-49.el4.ia64.rpm     7bd03729123ca502f7743809884449f8
 
x86_64:
perl-5.8.5-49.el4.x86_64.rpm     41cf747eef5b919b271af132132ef348
perl-suidperl-5.8.5-49.el4.x86_64.rpm     82f06834fba9a15551eee44207961159
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

203357 - buggy regexp in perl5/5.8.5/i386-linux-thread-multi/Encode/Alias.pm causes warning
227655 - libnet.cfg in wrong directory
432880 - the command instmodsh for the newest perl install is not working
456566 - @INC path too large


Keywords

PERL, perl


These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/