In perl.git, the branch smoke-me/fix_129903_129897 has been created


        at  527970e390bc88654b67b157f7c7b609ef06ae0c (commit)

- Log -----------------------------------------------------------------
commit 527970e390bc88654b67b157f7c7b609ef06ae0c
Author: Yves Orton <>
Date:   Tue Oct 18 13:11:49 2016 +0200

    regexec.c: fix #129903: forbid empty pattern in regex code block
    PL_curpm provides access to the data needed to implement
    the regex magic vars like $1 and $&. These vars are defined
    to reference the last successfully matched pattern, or when
    in regex code blocks (?{ ... }) and (??{ ... }), they
    should refer to the currently executing pattern.
    Unfortunately this collides with its use to implement the
    empty pattern special behavior, which requires /just/
    "the last successfully matched pattern" everwhere.
    This meant that a pattern match like /(?{ s!!! })/ will
    infinitely recurse. Fixing this would be difficult, on
    the other hand detecting it is not, so we can convert
    the infinite recursion/stack overflow into a normal

M       pod/perldiag.pod
M       pp_ctl.c
M       pp_hot.c

commit 4a25f596dc0534de8441cd24bd1d6c374c3d44b9
Author: Yves Orton <>
Date:   Mon Oct 17 23:13:44 2016 +0200

    regexec.c: add comment and add a test
    The test is from the existing comment.

M       regexec.c
M       t/re/re_tests

commit 65cfc2edba7ad3e195b042425a67185eb50c1c24
Author: Yves Orton <>
Date:   Mon Oct 17 23:13:16 2016 +0200

    regexec.c: fixup annoying unbalanced whitespace

M       regexec.c

commit b0be4b4f498cbda98e0813b144508356b9d57ecc
Author: Yves Orton <>
Date:   Mon Oct 17 23:12:24 2016 +0200

    regexec.c: in debug fixup indents and TRIE/BUFFER debug output

M       embed.fnc
M       embed.h
M       proto.h
M       regexec.c

commit c6dcf87eeb14d6d8f5ddb012a7169bc253212292
Author: Yves Orton <>
Date:   Mon Oct 17 23:10:10 2016 +0200

    regexec.c: in debug show whether TRIE nodes have a jump table

M       regcomp.c

commit 5dc1331ce86ee5ff3925a796e496c9e973218397
Author: Yves Orton <>
Date:   Mon Oct 17 23:09:11 2016 +0200

    regexec.c: fix perl #129897: trie short circuit breaks capture buffers
    There is an optimisation when a trie matches only one thing
    which causes it to fall through to the following code without
    setting up a stack unwind frame. This breaks if we are using
    a trie jump table where we might change state that will need
    to be unwound on failure.

M       regexec.c
M       t/re/re_tests

Perl5 Master Repository

Reply via email to