[Perl/perl5]

2020-05-01 Thread James E Keenan
  Branch: refs/heads/smoke-me/jkeenan/t-TEST-20200411
  Home:   https://github.com/Perl/perl5


[Perl/perl5] 5efad7: Fix panic in Unicode wildcard matching

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5efad79033608816c24807b39ca3b76e62f5fb34
  
https://github.com/Perl/perl5/commit/5efad79033608816c24807b39ca3b76e62f5fb34
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  Fix panic in Unicode wildcard matching

The reason this bug occurs is that wildcard matching changes the anchor
assertions \A, \Z, and \z, without corresponding changes in regexec.c.

We earlier noticed that all these were being marked SIMPLE, and a
zero-width construct shouldn't really be.  But it was considered too
late in the development cycle to make that change.  So the plan was to
live with this bug in an experimental feature in 5.32.

But I eventually realized that the change could be effected for just the
wildcard versions, and this commit does that.  If there is some issue
with making these non-SIMPLE, it will affect only the wildcard feature,
and those potential bugs are better than a known bug.  I also seems
unlikely that this will introduce any bug.  What removing SIMPLE does is
merely remove potential optimizations in the handling.  The most general
case should work.; it's doing an improper optimization that gets one
into trouble.

This fixes #17677


[Perl/perl5] 28601d: regcomp.c: Add comments

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 28601d809e9116df25d4e9a091f21ecf73a1c87a
  
https://github.com/Perl/perl5/commit/28601d809e9116df25d4e9a091f21ecf73a1c87a
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  regcomp.c: Add comments


  Commit: 07b2324000451f5ce36e176cb75d49997ca895bf
  
https://github.com/Perl/perl5/commit/07b2324000451f5ce36e176cb75d49997ca895bf
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c
M t/re/pat_advanced.t

  Log Message:
  ---
  regcomp.c: Avoid use after free

It turns out that the SV returned by re_intuit_string() may be freed by
future calls to re_intuit_start().  Thus, the caller doesn't get clear
title to the returned SV.  (This wasn't documented until the
commit immediately prior to this one.)

Cope with this situation by making a mortalized copy.  This commit also
changes to use the copy's PV directly, simplifying some 'if' statements.

re_intuit_string() is effectively in the API, as it is an element in the
regex engine structure, callable by anyone.  It should not be returning
a tenuous SV.  That returned scalar should not freed before the pattern
it is for is freed.  It is too late in the development cycle to change
this, so this workaround is presented instead for 5.32.

This fixes #17734.


Compare: https://github.com/Perl/perl5/compare/1c94b0031687...07b232400045


[Perl/perl5] 42fd8c: regcomp.c: Fix named sequences in (?[...])

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 42fd8c63c3c0d56c51300f428529223f7a34d1d2
  
https://github.com/Perl/perl5/commit/42fd8c63c3c0d56c51300f428529223f7a34d1d2
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M pod/perldiag.pod
M regcomp.c
M t/re/reg_mesg.t

  Log Message:
  ---
  regcomp.c: Fix named sequences in (?[...])

The regex_sets feature cannot yet handle named sequences possibly
returned by \p{name=...}.  I forgot to check for this possibility which
led to a null pointer dereference.  Also, the called function was
returning success when it should have failed in this circumstance.

This fixes #17732


  Commit: a964bf354ede905cf62ebdd20fb08b8f6eaa137c
  
https://github.com/Perl/perl5/commit/a964bf354ede905cf62ebdd20fb08b8f6eaa137c
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  regcomp.c: Add assert

The code's proper functioning currently depends on bracketed character
classes not returning a sequence of characters to the regex sets feature
(?[...])

Add an assert to validate that.


Compare: https://github.com/Perl/perl5/compare/07b232400045...a964bf354ede


[Perl/perl5]

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/smoke-me/khw-jdl
  Home:   https://github.com/Perl/perl5


[Perl/perl5] 8100f3: handle_names_wildcard: better avoid compiler warning

2020-05-01 Thread Dagfinn Ilmari Mannsåker
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8100f3cd3c45f1190105982b7fed1028074526ae
  
https://github.com/Perl/perl5/commit/8100f3cd3c45f1190105982b7fed1028074526ae
  Author: Dagfinn Ilmari Mannsåker 
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  handle_names_wildcard: better avoid compiler warning

instead of casting away the const from a string literal,
declare the variable as a pointer to const char




[Perl/perl5] 1c94b0: What can we make with pasta and toilet roll?

2020-05-01 Thread Chris Williams
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 1c94b0031687aaffc9787970b927805927b3aa65
  
https://github.com/Perl/perl5/commit/1c94b0031687aaffc9787970b927805927b3aa65
  Author: Chris 'BinGOs' Williams 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M Porting/Maintainers.pl

  Log Message:
  ---
  What can we make with pasta and toilet roll?


[Perl/perl5] fa20e3: Update repository and bugtracker meta for Module-C...

2020-05-01 Thread Chris Williams
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: fa20e304ada6ee23683e564c03de9ca112ca97a7
  
https://github.com/Perl/perl5/commit/fa20e304ada6ee23683e564c03de9ca112ca97a7
  Author: Chris 'BinGOs' Williams 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M dist/Module-CoreList/Makefile.PL

  Log Message:
  ---
  Update repository and bugtracker meta for Module-CoreList


[Perl/perl5] e8c3ba: regcomp.c: Add comments

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/smoke-me/khw-17734
  Home:   https://github.com/Perl/perl5
  Commit: e8c3bacf5f546a49f701d359f26afd77d1458f60
  
https://github.com/Perl/perl5/commit/e8c3bacf5f546a49f701d359f26afd77d1458f60
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  regcomp.c: Add comments


  Commit: f9dd299d251e8c42be547341f5e6f627bbd7691b
  
https://github.com/Perl/perl5/commit/f9dd299d251e8c42be547341f5e6f627bbd7691b
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c
M t/re/pat_advanced.t

  Log Message:
  ---
  regcomp.c: Avoid use after free

It turns out that the SV returned by re_intuit_string() may be freed by
future calls to re_intuit_start().  Thus, the caller doesn't get clear
title to the returned SV.  (This wasn't documented until the
commit immediately prior to this one.)

Cope with this situation by making a mortalized copy.  This commit also
changes to use the copy's PV directly, simplifying some 'if' statements.

re_intuit_string() is effectively in the API, as it is an element in the
regex engine structure, callable by anyone.  It should not be returning
a tenuous SV.  That returned scalar should not freed before the pattern
it is for is freed.  It is too late in the development cycle to change
this, so this workaround is presented instead for 5.32.

This fixes #17734.


Compare: https://github.com/Perl/perl5/compare/449cda1d3dd9...f9dd299d251e


[Perl/perl5] 7ba40b: handle_names_wildcard: avoid compiler warning

2020-05-01 Thread Hugo van der Sanden
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7ba40b07b12345b7fb14182e44051497648ee14b
  
https://github.com/Perl/perl5/commit/7ba40b07b12345b7fb14182e44051497648ee14b
  Author: Hugo van der Sanden 
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  handle_names_wildcard: avoid compiler warning


[Perl/perl5]

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/smoke-me/khw-17677
  Home:   https://github.com/Perl/perl5


[Perl/perl5] 4d3640: regcomp.c: Avoid use after free

2020-05-01 Thread Karl Williamson
  Branch: refs/heads/smoke-me/khw-17734
  Home:   https://github.com/Perl/perl5
  Commit: 4d3640109bda059b8482fd71a043ac4586a10a50
  
https://github.com/Perl/perl5/commit/4d3640109bda059b8482fd71a043ac4586a10a50
  Author: Karl Williamson 
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
M regcomp.c
M t/re/pat_advanced.t

  Log Message:
  ---
  regcomp.c: Avoid use after free

It turns out that the SV returned by re_intuit_string() may be freed by
future calls to re_intuit_start().  Thus, the caller doesn't get clear
title to the returned SV.  (This wasn't documented until the
commit immediately prior to this one.)

Cope with this situation by making a mortalized copy.  This commit also
changes to use the copy's PV directly, simplifying some 'if' statements.

re_intuit_string() is effectively in the API, as it is an element in the
regex engine structure, callable by anyone.  It should not be returning
a tenuous SV.  That returned scalar should not freed before the pattern
it is for is freed.  It is too late in the development cycle to change
this, so this workaround is presented instead for 5.32.

This fixes #17734.