In perl.git, the branch smoke-me/rt_123562_520 has been created
<http://perl5.git.perl.org/perl.git/commitdiff/854d0921f9d0fb6c5ea15abeed3dd19d63bbabe1?hp=0000000000000000000000000000000000000000>
at 854d0921f9d0fb6c5ea15abeed3dd19d63bbabe1 (commit)
- Log -----------------------------------------------------------------
commit 854d0921f9d0fb6c5ea15abeed3dd19d63bbabe1
Author: Karl Williamson <[email protected]>
Date: Wed Sep 16 14:34:31 2015 -0600
PATCH [perl #123562] Regexp-matching "hangs"
The regex engine got into an infinite loop because of the malformation.
It is trying to back-up over a sequence of UTF-8 continuation bytes.
But the character just before the sequence should be a start byte. If
not, there is a malformation. I added a test to croak if that isn't the
case so that it doesn't just infinitely loop. I did this also in the
similar areas of regexec.c.
Comments long ago added to the code suggested that we check for
malformations in the vicinity of the new tests. But that was never
done. These new tests should be good enough to prevent looping, anyway.
(cherry picked from commit 22b433eff9a1ffa2454e18405a56650f07b385b5)
-----------------------------------------------------------------------
--
Perl5 Master Repository