[Perl/perl5]
Branch: refs/heads/smoke-me/jkeenan/t-TEST-20200411 Home: https://github.com/Perl/perl5
[Perl/perl5] 5efad7: Fix panic in Unicode wildcard matching
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
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 (?[...])
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]
Branch: refs/heads/smoke-me/khw-jdl Home: https://github.com/Perl/perl5
[Perl/perl5] 8100f3: handle_names_wildcard: better avoid compiler warning
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?
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...
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
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
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]
Branch: refs/heads/smoke-me/khw-17677 Home: https://github.com/Perl/perl5
[Perl/perl5] 4d3640: regcomp.c: Avoid use after free
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.