From: Nicholas Clark Date: Thu, 18 Feb 2010 15:23:49 +0000 (+0000) Subject: In Perl_reg_temp_copy(), ensure SvMAGIC() is NULL in the new REGEXP. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=703c388dcb4a811f77272cdb5e507d0bbc23dca7;p=p5sagit%2Fp5-mst-13.2.git In Perl_reg_temp_copy(), ensure SvMAGIC() is NULL in the new REGEXP. Change c2123ae380a372d5 exposed the fact that Perl_reg_temp_copy() didn't reset SvMAGIC() to NULL after block copying the "parent" regexp. The analagous problem with SvSTASH() was fixed with change b9ad13acb338e137. --- diff --git a/regcomp.c b/regcomp.c index 0b27364..6669d58 100644 --- a/regcomp.c +++ b/regcomp.c @@ -9461,6 +9461,7 @@ Perl_reg_temp_copy (pTHX_ REGEXP *ret_x, REGEXP *rx) sizeof(regexp) - STRUCT_OFFSET(regexp, xpv_cur)); SvLEN_set(ret_x, 0); SvSTASH_set(ret_x, NULL); + SvMAGIC_set(ret_x, NULL); Newx(ret->offs, npar, regexp_paren_pair); Copy(r->offs, ret->offs, npar, regexp_paren_pair); if (r->substrs) {