perl5163delta - what is new for perl v5.16.3


   This document describes differences between the 5.16.2 release and the
   5.16.3 release.

   If you are upgrading from an earlier release such as 5.16.1, first read
   perl5162delta, which describes differences between 5.16.1 and 5.16.2.

Core Enhancements

   No changes since 5.16.0.


   This release contains one major and a number of minor security fixes.
   These latter are included mainly to allow the test suite to pass
   cleanly with the clang compiler's address sanitizer facility.

   CVE-2013-1667: memory exhaustion with arbitrary hash keys
   With a carefully crafted set of hash keys (for example arguments on a
   URL), it is possible to cause a hash to consume a large amount of
   memory and CPU, and thus possibly to achieve a Denial-of-Service.

   This problem has been fixed.

   wrap-around with IO on long strings
   Reading or writing strings greater than 2**31 bytes in size could
   segfault due to integer wraparound.

   This problem has been fixed.

   memory leak in Encode
   The UTF-8 encoding implementation in Encode.xs had a memory leak which
   has been fixed.

Incompatible Changes

   There are no changes intentionally incompatible with 5.16.0. If any
   exist, they are bugs and reports are welcome.


   There have been no deprecations since 5.16.0.

Modules and Pragmata

   Updated Modules and Pragmata
   *   Encode has been upgraded from version 2.44 to version 2.44_01.

   *   Module::CoreList has been upgraded from version 2.76 to version

   *   XS::APItest has been upgraded from version 0.38 to version 0.39.

Known Problems



   Perl 5.16.3 represents approximately 4 months of development since Perl
   5.16.2 and contains approximately 870 lines of changes across 39 files
   from 7 authors.

   Perl continues to flourish into its third decade thanks to a vibrant
   community of users and developers. The following people are known to
   have contributed the improvements that became Perl 5.16.3:

   Andy Dougherty, Chris 'BinGOs' Williams, Dave Rolsky, David Mitchell,
   Michael Schroeder, Ricardo Signes, Yves Orton.

   The list above is almost certainly incomplete as it is automatically
   generated from version control history. In particular, it does not
   include the names of the (very much appreciated) contributors who
   reported issues to the Perl bug tracker.

   For a more complete list of all of Perl's historical contributors,
   please see the AUTHORS file in the Perl source distribution.

Reporting Bugs

   If you find what you think is a bug, you might check the articles
   recently posted to the comp.lang.perl.misc newsgroup and the perl bug
   database at .  There may also be
   information at , the Perl Home Page.

   If you believe you have an unreported bug, please run the perlbug
   program included with your release.  Be sure to trim your bug down to a
   tiny but sufficient test case.  Your bug report, along with the output
   of "perl -V", will be sent off to to be analysed by
   the Perl porting team.

   If the bug you are reporting has security implications, which make it
   inappropriate to send to a publicly archived mailing list, then please
   send it to This points to a closed
   subscription unarchived mailing list, which includes all the core
   committers, who will be able to help assess the impact of issues,
   figure out a resolution, and help co-ordinate the release of patches to
   mitigate or fix the problem across all platforms on which Perl is
   supported. Please only use this address for security issues in the Perl
   core, not for modules independently distributed on CPAN.


   The Changes file for an explanation of how to view exhaustive details
   on what changed.

   The INSTALL file for how to build Perl.

   The README file for general stuff.

   The Artistic and Copying files for copyright information.

More Linux Commands

wcswidth(3) - determine columns needed for a fixed-size wide
The wcswidth() function returns the number of columns needed to represent the wide-character string pointed to by s, but at most n wide characters. If a nonprin

gnutls_openpgp_keyring_init(3) - API function (Man Page)....
This function will initialize an keyring structure. RETURNS GNUTLS_E_SUCCESS on success, or an error code. REPORTING BUGS Report bugs to <>. G

keyctl_session_to_parent(3) Set the parent processs session
keyctl_session_to_parent() changes the session keyring to which the calling processs parent subscribes to be the that of the calling process. The keyring must h

fchdir(2) - change working directory - Linux manual page....
chdir() changes the current working directory of the calling process to the directory specified in path. fchdir() is identical to chdir(); the only difference i

Tcl_AppendObjToObj(3) - manipulate Tcl objects as strings...
The procedures described in this manual entry allow Tcl objects to be manipulated as string values. They use the internal representation of the object to store

iswcntrl(3) - test for control wide character (Man Page)....
The iswcntrl() function is the wide-character equivalent of the iscntrl(3) function. It tests whether wc is a wide character belonging to the wide-character cla

systemd-nspawn(1) - Spawn a namespace container for debuggin
systemd-nspawn may be used to run a command or OS in a light-weight namespace container. In many ways it is similar to chroot(1), but more powerful since it ful

autoscan(1) - Generate a preliminary (ManPage)
Examine source files in the directory tree rooted at SRCDIR, or the current directory if none is given. Search the source files for common portability problems,

gnutls_certificate_set_x509_crl_mem(3) - API function.......
gnutls_certificate_set_x509_crl_mem.3 - This function adds the trusted CRLs in order to verify client or server certificates. In case of a client this is not re

gnutls_openpgp_crt_get_auth_subkey(3) - API function........
Returns the 64-bit keyID of the first valid OpenPGP subkey marked for authentication. If flag is non (0) and no authentication subkey exists, then a valid subke

pam_sepermit(8) - PAM module to allow/deny login depending o
The pam_sepermit module allows or denies login depending on SELinux enforcement state. When the user which is logging in matches an entry in the config file he

strerror(3) - return string describing error number.........
The strerror() function returns a pointer to a string that describes the error code passed in the argument errnum, possibly using the LC_MESSAGES part of the cu

We can't live, work or learn in freedom unless the software we use is free.