Don’t leak with /(?{})$invalid_code_block/
authorFather Chrysostomos <sprout@cpan.org>
Thu, 1 Nov 2012 20:08:17 +0000 (13:08 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Fri, 2 Nov 2012 01:09:59 +0000 (18:09 -0700)
commit24044fabd839afe7d01d53cc50f06415298d31ec
treecf312728cba79d02e052c0f1ffcb2c9c5a406c30
parent2032cc0cf0dc385ead62c081c08e0a66c2150481
Don’t leak with /(?{})$invalid_code_block/

This script was leaking:

$ ./perl -Ilib -wMre=eval -e '$x = "(?{+})"; while(1){eval {/(?{})$x/}}'

The mallocked array that is allocated before compilation to hold the
code blocks was not being freed before the syntax error from the inner
pattern ($x) was propagated.
regcomp.c