perl5262delta
PERL5262DELTA(1) Perl Programmers Reference Guide PERL5262DELTA(1)
NAME
perl5262delta - what is new for perl v5.26.2
DESCRIPTION
This document describes differences between the 5.26.1 release and the
5.26.2 release.
If you are upgrading from an earlier release such as 5.26.0, first read
perl5261delta, which describes differences between 5.26.0 and 5.26.1.
Security
[CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom
(regcomp.c)
A crafted regular expression could cause a heap buffer write overflow,
with control over the bytes written. [perl #132227]
<https://rt.perl.org/Public/Bug/Display.html?id=132227>
[CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
Matching a crafted locale dependent regular expression could cause a
heap buffer read overflow and potentially information disclosure.
[perl #132063] <https://rt.perl.org/Public/Bug/Display.html?id=132063>
[CVE-2018-6913] heap-buffer-overflow in S_pack_rec
"pack()" could cause a heap buffer write overflow with a large item
count. [perl #131844]
<https://rt.perl.org/Public/Bug/Display.html?id=131844>
Assertion failure in Perl__core_swash_init (utf8.c)
Control characters in a supposed Unicode property name could cause perl
to crash. This has been fixed. [perl #132055]
<https://rt.perl.org/Public/Bug/Display.html?id=132055> [perl #132553]
<https://rt.perl.org/Public/Bug/Display.html?id=132553> [perl #132658]
<https://rt.perl.org/Public/Bug/Display.html?id=132658>
Incompatible Changes
There are no changes intentionally incompatible with 5.26.1. If any
exist, they are bugs, and we request that you submit a report. See
"Reporting Bugs" below.
Modules and Pragmata
Updated Modules and Pragmata
o Module::CoreList has been upgraded from version 5.20170922_26 to
5.20180414_26.
o PerlIO::via has been upgraded from version 0.16 to 0.17.
o Term::ReadLine has been upgraded from version 1.16 to 1.17.
o Unicode::UCD has been upgraded from version 0.68 to 0.69.
Documentation
Changes to Existing Documentation
perluniprops
o This has been updated to note that "\p{Word}" now includes code
points matching the "\p{Join_Control}" property. The change to the
property was made in Perl 5.18, but not documented until now.
There are currently only two code points that match this property:
U+200C (ZERO WIDTH NON-JOINER) and U+200D (ZERO WIDTH JOINER).
Platform Support
Platform-Specific Notes
Windows
Visual C++ compiler version detection has been improved to work on
non-English language systems. [perl #132421]
<https://rt.perl.org/Public/Bug/Display.html?id=132421>
We now set $Config{libpth} correctly for 64-bit builds using Visual
C++ versions earlier than 14.1. [perl #132484]
<https://rt.perl.org/Public/Bug/Display.html?id=132484>
Selected Bug Fixes
o The "readpipe()" built-in function now checks at compile time that
it has only one parameter expression, and puts it in scalar
context, thus ensuring that it doesn't corrupt the stack at
runtime. [perl #4574]
<https://rt.perl.org/Public/Bug/Display.html?id=4574>
o Fixed a use after free bug in "pp_list" introduced in Perl 5.27.1.
[perl #131954]
<https://rt.perl.org/Public/Bug/Display.html?id=131954>
o Parsing a "sub" definition could cause a use after free if the
"sub" keyword was followed by whitespace including newlines (and
comments). [perl #131836]
<https://rt.perl.org/Public/Bug/Display.html?id=131836>
o The tokenizer now correctly adjusts a parse pointer when skipping
whitespace in an " ${identifier} " construct. [perl #131949]
<https://rt.perl.org/Public/Bug/Display.html?id=131949>
o Accesses to "${^LAST_FH}" no longer assert after using any of a
variety of I/O operations on a non-glob. [perl #128263]
<https://rt.perl.org/Public/Bug/Display.html?id=128263>
o "sort" now performs correct reference counting when aliasing $a and
$b, thus avoiding premature destruction and leakage of scalars if
they are re-aliased during execution of the sort comparator. [perl
#92264] <https://rt.perl.org/Public/Bug/Display.html?id=92264>
o Some convoluted kinds of regexp no longer cause an arithmetic
overflow when compiled. [perl #131893]
<https://rt.perl.org/Public/Bug/Display.html?id=131893>
o Fixed a duplicate symbol failure with -flto -mieee-fp builds. pp.c
defined "_LIB_VERSION" which -lieee already defines. [perl
#131786] <https://rt.perl.org/Public/Bug/Display.html?id=131786>
o A NULL pointer dereference in the "S_regmatch()" function has been
fixed. [perl #132017]
<https://rt.perl.org/Public/Bug/Display.html?id=132017>
o Failures while compiling code within other constructs, such as with
string interpolation and the right part of "s///e" now cause
compilation to abort earlier.
Previously compilation could continue in order to report other
errors, but the failed sub-parse could leave partly parsed
constructs on the parser shift-reduce stack, confusing the parser,
leading to perl crashes. [perl #125351]
<https://rt.perl.org/Public/Bug/Display.html?id=125351>
Acknowledgements
Perl 5.26.2 represents approximately 7 months of development since Perl
5.26.1 and contains approximately 3,300 lines of changes across 82
files from 17 authors.
Excluding auto-generated files, documentation and release tools, there
were approximately 1,800 lines of changes to 36 .pm, .t, .c and .h
files.
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.26.2:
Aaron Crane, Abigail, Chris 'BinGOs' Williams, H.Merijn Brand, James E
Keenan, Jarkko Hietaniemi, John SJ Anderson, Karen Etheridge, Karl
Williamson, Lukas Mai, Renee Baecker, Sawyer X, Steve Hay, Todd
Rinaldo, Tony Cook, Yves Orton, Zefram.
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.
Many of the changes included in this version originated in the CPAN
modules included in Perl's core. We're grateful to the entire CPAN
community for helping Perl to flourish.
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 perl bug
database at <https://rt.perl.org/> . There may also be information at
<http://www.perl.org/> , 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 perlbug@perl.org 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 see
"SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for details of
how to report the issue.
Give Thanks
If you wish to thank the Perl 5 Porters for the work we had done in
Perl 5, you can do so by running the "perlthanks" program:
perlthanks
This will send an email to the Perl 5 Porters list with your show of
thanks.
SEE ALSO
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.
perl v5.30.0 2023-11-23 PERL5262DELTA(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024
Hurricane Electric.
All Rights Reserved.