X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regcomp.c;h=7c8c3911db8c9da4638f673636089547a401d694;hb=37be2b3976e33708042402101fbafebc36dcb7a3;hp=3ad5d8c138f4b7ddf038ac34cbff54a9b0097c71;hpb=1e1d4b91957a9f66bbb14b2c7f1bbf88c1f89cdf;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regcomp.c b/regcomp.c index 3ad5d8c..7c8c391 100644 --- a/regcomp.c +++ b/regcomp.c @@ -6898,6 +6898,11 @@ tryagain: RExC_seen_zerolen++; ret = reg_node(pRExC_state, KEEPS); *flagp |= SIMPLE; + /* XXX:dmq : disabling in-place substitution seems to + * be necessary here to avoid cases of memory corruption, as + * with: C<$_="x" x 80; s/x\K/y/> -- rgs + */ + RExC_seen |= REG_SEEN_LOOKBEHIND; goto finish_meta_pat; case 'Z': ret = reg_node(pRExC_state, SEOL);