This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Stop (?[]) operators from leaking
authorFather Chrysostomos <sprout@cpan.org>
Thu, 6 Jun 2013 15:47:31 +0000 (08:47 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 6 Jun 2013 15:51:08 +0000 (08:51 -0700)
commita84e671a269f736a404a62f21caacc8a431c2aca
treecd46ffcead7a5b4dcba5f3a8fa78da40ed7a9027
parent27350048d47bfa7c69df608e6b5bc6374052b46d
Stop (?[]) operators from leaking

When a (?[]) extended charclass is compiled, the various operands are
stored as inversion lists in separate SVs and then combined together
into new inversion lists.  The functions that take care of combining
inversion lists only ever free one operand, and sometimes free none.
Most of the operators in (?[]) were trusting the invlist functions to
free everything that was no longer needed, causing (?[]) compilation
to leak invlists.
regcomp.c
t/op/svleak.t