The code in regcppop() (see #7878) contains the correct lower
authorJarkko Hietaniemi <jhi@iki.fi>
Mon, 27 Nov 2000 02:31:35 +0000 (02:31 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Mon, 27 Nov 2000 02:31:35 +0000 (02:31 +0000)
commit09e8ae3b675695eeca309327a14174ff5ec475ce
tree0c61ddf0de5f2c046506ae889b8ed4b546bfc834
parentdafc8851ab778a44213cb74896e93c0f90bed47d
The code in regcppop() (see #7878) contains the correct lower
limit for the unused submatch 'cleanup' loop so that under
"use utf8" the following code wouldn't dump core:
"," =~ /([^,]*,)*/  With the the wrong lower limit (>=1)
the cleanup loop in regtry() stomped beyond allocated area
in the startp[] array.  Therefore, copied the correct lower
loop limit (*PL_reglastparen) to regtry().  Note: something
may still not be quite right: why was the _higher_ loop limit
(prog->nparens) different in the utf8 case?

After this patch "./perl -Ilib -Mutf8 t/op/regexp.t" works
without core dumps, there were about 17 of them before
the patch (with us since Perl 5.7.0).  Two failures, still:
496 and 505 (though these may not be severe).

Patch #7881 is also needed since both the cleanup loops
seem to be needed.

Also, the t/op/pat#44 seems to core dump under utf8.
Plus a couple of failures.  UGH-8.

p4raw-id: //depot/perl@7879
regexec.c