summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* list assign in list context: honour LHS undefDavid Mitchell2021-01-062-2/+10
| | | | | | | | | | | | | | | | | GH #16685 In @a = ($x, undef, undef) = (1)) @a should have 3 elements. v5.25.6-79-gb09ed995ad broke this and was returning one element. The fix is simple: that previous commit made it so that elements were pushed back onto the stack only if they weren't immortal, so &PL_sv_undef was getting skipped. Make it so they always are. (cherry picked from commit 282d9dfeb4cea3c2d0335ba78faa3a9db931f1ec)
* list assign in list context was over-optimisingDavid Mitchell2021-01-062-3/+17
| | | | | | | | | | | | | | | | | | | | | GH #17816 This code: my $x = 1; print (($x, undef) = (2 => $x)); was printing "22" when it should have been printing "21". An optimisation skips the 'common values on both sides' test when the LHS of an assign only contains a single var; as the example above shows, this is not sufficient. This was broken by v5.23.1-202-g808ce55782 This commit fixes it by counting undef's on the LHS towards the var count if they don't appear first. (cherry picked from commit 5b354d2a8a6fea46c62048464c6722560cb1c907)
* Document the security team's processes and practicesJohn Lightsey2020-12-267-26/+549
| | | | | | | | | | | | | Add a new perlsecpolicy POD file with detailed descriptions of the security team's vulnerability remediation workflow and the criteria used to distinguish security issues from other types of bugs. This also switches the team's public contact address to perl-security@perl.org, and updates the security contact information shown in github's issue interface. (cherry picked from commit b135fd4a1ca0074e0baef5764530103cc97cc4fe)
* Note range op behavior change in docsHauke D2020-12-261-0/+8
| | | | | | This change documents the previous behavior of the range operator with magic string increment in Perl 5.30 and below - the change was introduced in commit d1bc97feec from GitHub #16770 (RT133695). (cherry picked from commit f4941eebb5185b70b980fcfea9f7b02f377f1f70)
* fixup! Add Sevan Janiyan as authorMax Maischein2020-12-261-1/+1
| | | | (cherry picked from commit 6eef26b1c82a35912e0b0e884a71a645d4e7cf20)
* Add Sevan Janiyan as authorMax Maischein2020-12-261-0/+1
| | | | (cherry picked from commit affe02a96fc1fc4aa88073a4a9aedf6a1488e829)
* Detect GCC as compiler to useSevan Janiyan2020-12-261-1/+2
| | | | | | | On Illumos based distributions GCC is likely the compiler available on the system. Change tested on SmartOS (cherry picked from commit 800aab6349e0a8fc07de4c691a51468570c2cd4b)
* Add Merijn's new email address to Porting/checkAUTHORS.plDagfinn Ilmari Mannsåker2020-12-261-0/+1
| | | | (cherry picked from commit c2e6241c83ac9b30fb37984a432bff9801cc2a3a)
* Trap SIGBUS when Configure checks for va_copy (#18148)H.Merijn Brand2020-12-261-0/+3
| | | | | | | | | | | | | | | | On several systems the attempt to determine if we "need va_copy() or similar" results in a SIGBUS instead of a SIGSEGV because the fault happens pointing at an io device address. While reviewing accounting logs during the OpenBSD system build, bluhm@ noticed a core dump and deraadt@ tracked it down. While researching it was discovered that this is a fairly common case in other systems as well. Original diff by deraadt@ (cherry picked from commit bec07c3af574f0f22a318c6273a2c4f29afc1251)
* Improve detection of Intel C/C++ compilers. (#18001)Graham✈️✈️2020-12-262-1/+2
| | | | | | | | | | | | | | | | | | | | | | * Improve detection of Intel C/C++ compilers. My version of Intel C/C++ reports these versions: ✅ starscream% icc -V Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.1.217 Build 20200306 Copyright (C) 1985-2020 Intel Corporation. All rights reserved. FOR NON-COMMERCIAL USE ONLY ✅ starscream% icpc -V Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.1.217 Build 20200306 Copyright (C) 1985-2020 Intel Corporation. All rights reserved. FOR NON-COMMERCIAL USE ONLY * simplified case for detecting Intel C++ compiler * update authors for plicease (cherry picked from commit 8ffcbbbe4a4411bb0971e61a39fa2608a4ef5145)
* Fixup AUTHORS with recent mergesNicolas R2020-12-262-1/+3
| | | | (manually cherry picked from commit d1bce42ce4c2b5874263b5bc6c4c407812e344b3)
* Adjust AUTHORS file with new authorsNicolas R2020-12-261-0/+1
| | | | (manually cherry picked from commit 1211db3d963005502d6fd60c503cb0003706a3c3)
* Future proof version checkAdam Hartley2020-12-261-3/+3
| | | | (cherry picked from commit 54d41b60822734cf8df543053f7bd270dfded3ed)
* Update darwin.shAdam Hartley2020-12-261-2/+2
| | | | (cherry picked from commit 810090184a3d18a5cfe46b173f88c79c5a4a3093)
* Simplify syscall checkAdam Hartley2020-12-261-4/+3
| | | | (cherry picked from commit 6822b26820b70fed7be5f3e7f62e1f2c6552b61a)
* Update deprecated syscall check for 11.x and greaterAdam Hartley2020-12-261-2/+2
| | | | (cherry picked from commit 2ebac2d630023dc681e95512b4fe24ca5aa77d74)
* Update error messageAdam Hartley2020-12-261-1/+1
| | | | (cherry picked from commit 4603d7dabf1b5f331d23c95d70b16e656c8124b0)
* Update AUTHORSAdam Hartley2020-12-261-0/+1
| | | | (cherry picked from commit 78cf49c749a641e22c959a4eda2a2956513334f7)
* Add 11.x support for darwin.shAdam Hartley2020-12-261-2/+2
| | | | (cherry picked from commit aadc6422eaec39c22e4b4ce00a1e3ff619c41154)
* Make perl compile under minix againLeon Timmermans2020-12-261-0/+3
| | | | | | | Minix has a #define for si_signo to _info._signo, despite not having a struct siginfo; this caused compilation errors. (cherry picked from commit 3555a05cbfc80f94a4fe8ae3789f03db69701ca4)
* [gh18096] assume worst-case for GOSUBs we don't analyseHugo van der Sanden2020-12-262-1/+8
| | | | | | | | | | | | During study_chunk, under various conditions we avoid recursing into a GOSUB. But we must avoid giving the enclosing scope the idea that this GOSUB would match only an empty string, since that could trigger wrong optimizations (eg CURLYX => CURLYM in the ticket). So we mark the construct as infinite, as in the code branch where we _do_ recurse into it. (cherry picked from commit f4cd5e29bc15621f2ab8fc5d7de0e68e62d43999)
* Fix GH #17278Karl Williamson2020-12-262-5/+24
| | | | | | | | | | | | | | This was an assertion failure in regexec.c under rare circumstances. A reduction of the fuzzed test case is now in pat_advanced.t The root cause of this was that the pattern being compiled was encoded in UTF-8 and 'use locale' was in effect, equivalent to the /l charset, and then the charset was reset inside the pattern, to /d. But /d in a UTF-8 patterns is illegal, hence the later assertion failure. The solution is to reset instead to /u when the pattern is UTF-8. (cherry picked from commit bb58640a409949759318542317e353e2241cc408)
* Heap buffer overflow in regex bracket group whitespace handlingJohn Lightsey2020-12-261-8/+8
| | | | | | | The code for skipping whitespace in regex bracket character groups was walking past the end of the regex in some cases. (cherry picked from commit 90f66c42e4513ae5d907805fbf28b9967a90d6c5)
* Add missing boundary check to grok_infnanJohn Lightsey2020-12-261-3/+3
| | | | | | | | The grok_infnan() function was walking past the end of the string while skipping over trailing '0' characters. This is another variation of #17370. (cherry picked from commit bbd8607595f9856d6e75ed63130034cf645feb4a)
* bump $Data::Dumper::VERSIONSteve Hay2020-12-261-2/+2
| | | | | | (not cherry picked from commit 2122602f85 because version 2.175 was already released in perl 5.33.1 and was slightly different to what is now here due to 263d8ae211 not having been back-ported)
* Data::Dumper (XS): use mortals to prevent leaks if magic throwsTony Cook2020-12-261-24/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | For example: use Tie::Scalar; use Data::Dumper; sub T::TIESCALAR { bless {}, shift} sub T::FETCH { die } my $x; tie $x, "T" or die; while(1) { eval { () = Dumper( [ \$x ] ) }; } would leak various work SVs. I start a new scope (ENTER/LEAVE) for most recursive DD_dump() calls so that the work SVs don't accumulate on the temps stack, for example if we're dumping a large array we'd end up with several SVs on the temp stack for each member of the array. The exceptions are where I don't expect a large number of unreleased temps to accumulate, as with scalar or glob refs. (cherry picked from commit 815b4be4ab7ae210f796fc9d29754e55fc0d1f0e)
* make postav and valstr mortal so they're freed soonishTony Cook2020-12-261-3/+2
| | | | | | | | | | these can leak if the value being dumped (or any part of it) had get magic and that magic throws an exception. Several other SVs can also leak in that case, but cleaning those up is more complex. (cherry picked from commit b98a3a6d08f681353d0b357fd1cce437c93656e7)
* Data::Dumper: don't leak the working retvalTony Cook2020-12-261-4/+4
| | | | | | | do this by mortalizing the SV on creation, rather than when we push it on the stack (cherry picked from commit 41463160be4baa0d81d9d8297508a1b9bdcaa206)
* Fix leak GH #18054Karl Williamson2020-12-261-0/+2
| | | | | | This was a simple matter of one path failing to free the memory. (cherry picked from commit 6841cd5977c2d35ad75233734c66983a65613fce)
* (perl #17844) don't update SvCUR until after we've done movingTony Cook2020-12-262-2/+11
| | | | | | | | | | | | SvCUR() before the SvGROW() calls could result in reading beyond the end of a buffer. It wasn't a problem in the normal case, since sv_grow() just calls realloc() which has its own notion of how big the memory block is, but if the SV is SvOOK() sv_backoff() tries to move SvCUR()+1 bytes, which might be larger than the currently allocated size of the PV. (cherry picked from commit 45f235c116d4deab95c576aff77fe46d609f8553)
* add new release to perlhistMax Maischein2020-12-261-0/+1
| | | | (cherry picked from commit b0d2479a156520088b5c09de9b5322bb2381c19c)
* Update epigraphs.pod with quote from Max WeberMax Maischein2020-12-261-0/+7
| | | | (cherry picked from commit cb3055457b8af3615b233f18a8ea27f325bca728)
* Update release scheduleMax Maischein2020-12-261-1/+1
| | | | (cherry picked from commit 726eb38ebe55ff58f98f5dc47a6354b1342c067b)
* Update Module::CoreList for 5.33.5Max Maischein2020-12-261-0/+97
| | | | (manually cherry picked from commit eeda0517e1c1b8df9f095ae4ab97f5dcc4f6f092)
* Corrections to the hand-crafted changes in ff2a1213b7Steve Hay2020-12-182-1/+2
|
* Update Module::CoreList with data so far for the imminent 5.32.1Steve Hay2020-12-183-42/+74
| | | | | | | ($VERSION bumps, Porting/corelist.pl and Changes entry for a tentative release date. Includes setting the tentative release date in %delta, which is contrary to the RMG instructions for an RC, but is currently necessary to avoid dist/Module-CoreList/t/maintainer.t failing its last test.)
* Bump version to 5.32.1, ahead of its impending releaseSteve Hay2020-12-1823-129/+130
| | | | (includes regen/opcode.pl)
* New perldeltaSteve Hay2020-12-1810-1662/+2111
| | | | | | (not cherry picked from commit 0382c61de115275c09bf1fbe39aa02e6118da28c because a different sequence of events means that that commit made the next perldelta "perl5330delta" rather than "perl5321delta" as needed here)
* Post-release tasks for 5.33.4Tom Hukins2020-12-181-0/+9
| | | | (manually cherry picked from commit a47e9fb2f5da06ddc89e765be1fc30c4a8c9c1d5)
* Add epigraph for 5.33.3Steve Hay2020-12-181-0/+26
| | | | (cherry picked from commit 59a70a90cadf2eec45992b903e1e5fe3f50e2173)
* Update epigraphs with linksSawyer X2020-12-181-3/+3
| | | | (cherry picked from commit 2adfde9e14b336c8266d84ba513fb119f028c1ab)
* Add epigraphSawyer X2020-12-181-0/+7
| | | | (cherry picked from commit eae27cd5aa783f0e2c97ff11fee8cf2d7aee7ac1)
* commit epigraph for 5.33.1 releaseKaren Etheridge2020-12-181-0/+9
| | | | (cherry picked from commit fdc3c2f3924489c82956821bfd67d954736360e1)
* update epigraphSawyer X2020-12-181-0/+6
| | | | (cherry picked from commit 56595c6cbe9eed2298306b28f30b9ac5fd88b180)
* Update epigraphsSawyer X2020-12-181-5/+22
| | | | (cherry picked from commit a1e82abeae8300aeb5da0e76975d0dd9202b7f8f)
* 5.33.4 todayTom Hukins2020-12-181-0/+1
| | | | (cherry picked from commit 019e34c2029d812bfe75e990c48a751881ed7776)
* 5.33.3 todaySteve Hay2020-12-181-0/+1
| | | | (cherry picked from commit fb8d98f054813d9392f9670e4c4ee2f002b1d51e)
* add new release to perlhistSawyer X2020-12-181-0/+1
| | | | (cherry picked from commit 5654d3dc294725b043826642f937c57ae81536a7)
* add new release to perlhistKaren Etheridge2020-12-181-0/+1
| | | | (cherry picked from commit b69b5077393db9b8ffa440eba15b27073cbac617)
* add new release to perlhistSawyer X2020-12-181-0/+2
| | | | (cherry picked from commit 7d61a66feaf320070725eb123e51af30560bb5ec)