In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/5eabab158821032728b40b21aab4353b1213e250?hp=1703c1fc996f9d5943ebada0759bc5212289ae8e>
- Log ----------------------------------------------------------------- commit 5eabab158821032728b40b21aab4353b1213e250 Author: David Mitchell <[email protected]> Date: Sat Sep 8 20:17:42 2012 +0100 fix s/(.)/die/e Commit 6502e08109cd003b2cdf39bc94ef35e52203240b introduced copying just the part of the regex string that were needed; but piggy-backing on that commit was a temporary change I made that I forgot to undo, which - it turns out - causes SEGVs and similar when the replacement part of a substitution dies. This commits reverts that change. Spotted as Bleadperl v5.17.3-255-g6502e08 breaks GAAS/URI-1.60.tar.gz (not assigned an RT ticket number yet) ----------------------------------------------------------------------- Summary of changes: pp_ctl.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/pp_ctl.c b/pp_ctl.c index af0d558..1fc855d 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -363,7 +363,8 @@ Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx) *rsp = (void*)p; } - *p++ = RX_MATCH_COPIED(rx) ? 1 : 0; + /* what (if anything) to free on croak */ + *p++ = PTR2UV(RX_MATCH_COPIED(rx) ? RX_SUBBEG(rx) : NULL); RX_MATCH_COPIED_off(rx); #ifdef PERL_OLD_COPY_ON_WRITE -- Perl5 Master Repository
