[Perl/perl5] 2a2dbd: pad.c: Fix GH Issue #19463, -DXv fails assert when...

2022-02-26 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_gh_issue_19463
  Home:   https://github.com/Perl/perl5
  Commit: 2a2dbd97f5883a9aa1151a277d4f8c124c0bb6b5
  
https://github.com/Perl/perl5/commit/2a2dbd97f5883a9aa1151a277d4f8c124c0bb6b5
  Author: Yves Orton 
  Date:   2022-02-27 (Sun, 27 Feb 2022)

  Changed paths:
M pad.c
M t/run/switchDx.t

  Log Message:
  ---
  pad.c: Fix GH Issue #19463, -DXv fails assert when dumping anonymous constant 
sub

Anonymous constant subs were changed to be implemented internally as
XSUBs in 5.21.6, commit 1567c65ac069266bfe65959430c185babd476538.
This broke DEBUGGING perls running under -DXv which weren't taught
about the new implementation. In ed958fa3156084f3cf4d8c4768716d9e1a11ce91
strict.pm also was changed to use such subs, which then breaks many
uses of -DXv.

See t/run/switchDx.t for an example of code that would trigger this that
does not depend on strict.pm

This fixes the problem and adds a test for -Dx.




[Perl/perl5] 562bca: pad.c: Fix GH Issue #19463, -DXv fails assert when...

2022-02-26 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_gh_issue_19463
  Home:   https://github.com/Perl/perl5
  Commit: 562bcafcf5c9003b30fa1db75fbcbdb34a1f0978
  
https://github.com/Perl/perl5/commit/562bcafcf5c9003b30fa1db75fbcbdb34a1f0978
  Author: Yves Orton 
  Date:   2022-02-27 (Sun, 27 Feb 2022)

  Changed paths:
M pad.c
M t/run/switchDx.t

  Log Message:
  ---
  pad.c: Fix GH Issue #19463, -DXv fails assert when dumping anonymous constant 
sub

Anonymous constant subs were changed to be implemented internally as
XSUBs at some point (I have not determined when yet). This broke
DEBUGGING perls running under -DXv which weren't taught about the new
implementation. In ed958fa3156084f3cf4d8c4768716d9e1a11ce91 strict.pm
was changed to use such subs, which then breaks many uses of -DXv.

See t/run/switchDx.t for an example of code that would trigger this that
does not depend on strict.pm

This fixes the problem and adds a test for -Dx.




[Perl/perl5] a8c07f: Add alh khw votes

2022-02-26 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/khw
  Home:   https://github.com/Perl/perl5
  Commit: a8c07f15d910a058730c23f0f1d81f552282b515
  
https://github.com/Perl/perl5/commit/a8c07f15d910a058730c23f0f1d81f552282b515
  Author: Karl Williamson 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M votes-5.34.xml

  Log Message:
  ---
  Add alh khw votes

alh gave his vote on #irc




[Perl/perl5] 6948d9: Bump to 5.35.0:

2022-02-26 Thread Steve Hay via perl5-changes
  Branch: refs/heads/maint-5.34
  Home:   https://github.com/Perl/perl5
  Commit: 6948d90acfb8c2afd386621b5d29d26426b5c433
  
https://github.com/Perl/perl5/commit/6948d90acfb8c2afd386621b5d29d26426b5c433
  Author: Sawyer X 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Bump to 5.35.0:

* Apparently, first you bump, then you update perldelta.
* 5.35.0 *might* be released tomorrow (likely) but not certainly.
* I've set it to tomorrow so Module::CoreList won't be upset.

(manually cherry picked from commit 56b7904b6a7a2c4c1c5839679c40659ebb302412)


  Commit: 7f87f1449b4e554a4ee28a2f4871dd62161f4843
  
https://github.com/Perl/perl5/commit/7f87f1449b4e554a4ee28a2f4871dd62161f4843
  Author: Max Maischein 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Prepare Module::CoreList for 5.35.1

(cherry picked from commit 3bc1ad44a62bb8e6e27dac5f932c837ed3dcd18b)


  Commit: 4aab65fc2ff117f60f91078655ce75223ab5421c
  
https://github.com/Perl/perl5/commit/4aab65fc2ff117f60f91078655ce75223ab5421c
  Author: Max Maischein 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Update Module::CoreList for 5.35.1

(cherry picked from commit 7d3b4f06c57dc0d96d456b26ba0077e568314736)


  Commit: 9ee9ccff6d1493ae41eac2da1f9dfaa907a0443e
  
https://github.com/Perl/perl5/commit/9ee9ccff6d1493ae41eac2da1f9dfaa907a0443e
  Author: Max Maischein 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Update Module::CoreList for 5.35.2

(manually cherry picked from commit f518d931a991b1ae6fcf99fb4945ad9e0ae57b17)


  Commit: 14fe60a4f485d2b49b9a449267a634df81d8bef8
  
https://github.com/Perl/perl5/commit/14fe60a4f485d2b49b9a449267a634df81d8bef8
  Author: Neil Bowers 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Update Module::CoreList for 5.35.2

(manually cherry picked from commit e003a0cf3666eaa9bfb1cb881e3a98cd9ab9652b)


  Commit: cf26990290d8ba29425d959b7d0851bd316b7ee3
  
https://github.com/Perl/perl5/commit/cf26990290d8ba29425d959b7d0851bd316b7ee3
  Author: Neil Bowers 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Bump the perl version in various places ready for 5.35.3

(manually cherry picked from commit ed9ad00f972a4581dc6ee42e783a2e24d2448dc7)


  Commit: 283deb227e7fe603ba3ede8414aa39b404087b81
  
https://github.com/Perl/perl5/commit/283deb227e7fe603ba3ede8414aa39b404087b81
  Author: Karen Etheridge 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Update Module::CoreList for 5.35.3

(cherry picked from commit fa3eb89ca35d60a904026fc057ea579fbd8ced98)


  Commit: dfde17da2784047331ab7df9b81e160bb11601b9
  
https://github.com/Perl/perl5/commit/dfde17da2784047331ab7df9b81e160bb11601b9
  Author: Karen Etheridge 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/lib/Module/CoreList.pm
M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  ---
  Bump the perl version in various places for 5.35.4

(manually cherry picked from commit 3fd2ac55c6607b32006c42715c7d5ab7c262eb1c)


  Commit: 0052b93c90b9d310c4c0a9fe0c26961304e1546c
  
https://github.com/Perl/perl5/commit/0052b93c90b9d310c4c0a9fe0c26961304e1546c
  Author: Chris 'BinGOs' Williams 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/lib/Module/CoreList.pm

  Log Message:
  ---
  Better put a date in it

(cherry picked from commit 94344ab1abb118212a66fda7b5bcd40d96b460f4)


  Commit: 8edeab05d3685c42234496d144d0f6c1b9d0e0c8
  
https://github.com/Perl/perl5/commit/8edeab05d3685c42234496d144d0f6c1b9d0e0c8
  Author: Matthew Horsfall 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M dist/Module-CoreList/Changes
M dist/Module-CoreList/lib/Module/CoreList.pm
M 

[Perl/perl5] 17c19a: officially support Visual C++ 2022

2022-02-26 Thread xenu via perl5-changes
  Branch: refs/heads/maint-5.34
  Home:   https://github.com/Perl/perl5
  Commit: 17c19aa296ca10b1c68a6513ff1aedb93d51f34d
  
https://github.com/Perl/perl5/commit/17c19aa296ca10b1c68a6513ff1aedb93d51f34d
  Author: Tomasz Konojacki 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M README.win32
M win32/GNUmakefile
M win32/Makefile

  Log Message:
  ---
  officially support Visual C++ 2022

No code changes are needed.

(cherry picked from commit 5e4fe29818b7855da40185d452b359f9259e66f9)




[Perl/perl5] be7b00: gh19010: fix returns for Perl_grok_infnan

2022-02-26 Thread Hugo van der Sanden via perl5-changes
  Branch: refs/heads/hv/gh19010-rebase
  Home:   https://github.com/Perl/perl5
  Commit: be7b004b1e3e6a1a160534714ed801c37d0dbf60
  
https://github.com/Perl/perl5/commit/be7b004b1e3e6a1a160534714ed801c37d0dbf60
  Author: Hugo van der Sanden 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M ext/XS-APItest/t/grok.t
M numeric.c

  Log Message:
  ---
  gh19010: fix returns for Perl_grok_infnan

Consistently honour what the docs have always promised:
  If an infinity or a not-a-number is recognized, C<*sp> will point to
  one byte past the end of the recognized string.  If the recognition fails,
  zero is returned, and C<*sp> will not move.

Additionally, restore Perl_grok_number_flags to allowing inf/nan with
trailing garbage only when called with PERL_SCAN_TRAILING; add notes
to the other two core callers to clarify that they always accept such
trailing garbage.

Whitespace handling is regularized: trailing whitespace after anything
successfully parsed is always accepted, and does not trigger setting
IS_NUMBER_TRAILING.

A small number of XS-APItest tests were modified to reflect the stricter
behaviour: "Infin" and "nanx" are now invalid without PERL_SCAN_TRAILING.

An additional inconsistency (GH #19464) is commented in the tests but
not addressed here.




[Perl/perl5] c5a8cf: gh19010: regularize handling of trailing whitespac...

2022-02-26 Thread Hugo van der Sanden via perl5-changes
  Branch: refs/heads/hv/gh19010
  Home:   https://github.com/Perl/perl5
  Commit: c5a8cf5b3d200f37d5b2d076ea42aa8644c4ad75
  
https://github.com/Perl/perl5/commit/c5a8cf5b3d200f37d5b2d076ea42aa8644c4ad75
  Author: Hugo van der Sanden 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M numeric.c

  Log Message:
  ---
  gh19010: regularize handling of trailing whitespace on inf/nan

Always accept trailing whitespace when parsing Inf/NaN constructs, even
inside parens, without flagging as "trailing garbage".

Also fix off-by-one checking whether we reached the close-paren of
'nan(123)'.


  Commit: 294a724ad6d63c0b384849ce25860b2c78aeda91
  
https://github.com/Perl/perl5/commit/294a724ad6d63c0b384849ce25860b2c78aeda91
  Author: Hugo van der Sanden 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M ext/XS-APItest/t/grok.t

  Log Message:
  ---
  gh19010: simplify and expand inf/nan tests

We know how grok results should vary with and without PERL_SCAN_TRAILING
both for inputs with trailing garbage and those without, so abstract
that out and test both cases for each input.


Compare: https://github.com/Perl/perl5/compare/adeb727a4f24...294a724ad6d6


[Perl/perl5] 373ff8: Remove cherry picked commits

2022-02-26 Thread Steve Hay via perl5-changes
  Branch: refs/heads/maint-votes
  Home:   https://github.com/Perl/perl5
  Commit: 373ff87e5f24e363966780b55cf44f6363773543
  
https://github.com/Perl/perl5/commit/373ff87e5f24e363966780b55cf44f6363773543
  Author: Steve Hay 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M votes-5.34.xml

  Log Message:
  ---
  Remove cherry picked commits




[Perl/perl5] 63f36a: Encode.pm: apply a local patch for CVE-2021-36770

2022-02-26 Thread Dan Book via perl5-changes
  Branch: refs/heads/maint-5.34
  Home:   https://github.com/Perl/perl5
  Commit: 63f36a9334f30cb27d641731521f07564eaa391d
  
https://github.com/Perl/perl5/commit/63f36a9334f30cb27d641731521f07564eaa391d
  Author: Ricardo Signes 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M cpan/Encode/Encode.pm

  Log Message:
  ---
  Encode.pm: apply a local patch for CVE-2021-36770

I expect Encode to see a new release today.

Without this fix, Encode::ConfigLocal can be loaded from a path relative
to the current directory, because the || operator will evaluate @INC in
scalar context, putting an integer as the only value in @INC.

(cherry picked from commit c1a937fef07c061600a0078f4cb53fe9c2136bb9)


  Commit: 932f6a09ff08934d7eb7c230427d4633dd6d6621
  
https://github.com/Perl/perl5/commit/932f6a09ff08934d7eb7c230427d4633dd6d6621
  Author: Hugo van der Sanden 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M locale.c

  Log Message:
  ---
  gh17824: zero curlocales[]

Static analysis tools such as Coverity and clang report that we can
otherwise end up reading uninitialized data, and inspection agrees.

(cherry picked from commit 8a2e41ffbc376a86586e2b42daa43293299622c5)


  Commit: db48c3db85182b05e557fbbe6491e297665f3bdf
  
https://github.com/Perl/perl5/commit/db48c3db85182b05e557fbbe6491e297665f3bdf
  Author: Hugo van der Sanden 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  avoid overflow on delta in study_chunk

delta and pos_delta may hold OPTIMIZE_INFTY to represent infinity.

(cherry picked from commit e096e509321e540009a195ee8530c7dd07c62125)


  Commit: 7a52f426ed718c218479642f3ed2f7a76035
  
https://github.com/Perl/perl5/commit/7a52f426ed718c218479642f3ed2f7a76035
  Author: Hugo van der Sanden 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  data->pos_delta should stick at infinity

The expression we're about to add to data->pos_delta in this part of
study_chunk() can be both positive or negative; however while we apply
an overflow check to avoid exceeding OPTIMIZE_INFTY, we were happily
subtracting from it when the expression was negative, making it no longer
infinite.

(cherry picked from commit 8227b2b69230eaeea8f88d757b20021608518279)


  Commit: 43cbd598f60a85afcfc3de71e89e8a48330158f5
  
https://github.com/Perl/perl5/commit/43cbd598f60a85afcfc3de71e89e8a48330158f5
  Author: Tony Cook 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M sv.c
M t/lib/warnings/sv

  Log Message:
  ---
  Don't try to Sv[PI]V() on an undef index SV in find_uninit_var()

When trying to evaluate:

  $x{$y}

or

  $x[$y]

where both the index and the hash or array entry was undefined,
when trying to report the entry as uninitialised, find_uninit_var()
would try to get the string or numeric value of the index,
recursively trying to produce a warning.

This would end up overflowing the stack, producing a segmentation fault.

Fixes #19147.

(cherry picked from commit 23cca2d1f4544cb47f1124d98c308ce1f31f09a6)


  Commit: 656575c0e8a592751ea5bb18ad5760647af7eb4b
  
https://github.com/Perl/perl5/commit/656575c0e8a592751ea5bb18ad5760647af7eb4b
  Author: Yves Orton 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  Fixup Issue #19350 - Assert error under: use re Debug=>"ALL"

In 7c932d07cab18751bfc7515b4320436273a459e2 karl changed the regex
parser to not do two passes always, and instead do one if it could.
However in some edge cases it still must do a second past and some of
the info needed for the Debug => "All" would not be available during the
first pass.

This was compounded by S_add_data() validly returning a 0 index for data
that was stored in the data array, which meant that there was no way to
tell the difference between "we dont have the data to call S_add_data()
at all" and "we called S_add_data() and it returned 0", this in turn
would cause the dumping logic to try to access data that was not there,
and misinterpret it as a valid SV, with ensure assert fails or worse
segfaults.

This patch changes S_add_data() so it always returns a non-zero return,
so that the regex debug logic can tell that it shouldnt do a lookup into
the data array. This means create a new "what" type of "%", which is
used SOLELY to populate the ->data[0] and ->what[0] with a dummy entry.

With this done we can add guard statements to places that lookup things
in the data array, if the index is 0 it can not be valid.

(cherry picked from commit a963d6d5acabdd8c78afec507b56f890de6d346a)


  Commit: f5d636819508aaa8aca5bf524608482989d72318
  
https://github.com/Perl/perl5/commit/f5d636819508aaa8aca5bf524608482989d72318
  Author: Yves Orton 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M t/re/pat_advanced.t

  Log Message:
  ---
  Test for Issue