From: Rafael Garcia-Suarez Date: Sat, 30 May 2009 14:40:03 +0000 (+0200) Subject: Nicholas says that SvREFCNT_dec should be sufficient here X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e3b1b6b13da71d3dc75cea4d4ff56f2468a6f7e5;p=p5sagit%2Fp5-mst-13.2.git Nicholas says that SvREFCNT_dec should be sufficient here (instead of marking the SV as mortal.) --- diff --git a/hv.c b/hv.c index 79d1944..3322848 100644 --- a/hv.c +++ b/hv.c @@ -1443,8 +1443,10 @@ Perl_hv_copy_hints_hv(pTHX_ HV *const ohv) hv_iterinit(ohv); while ((entry = hv_iternext_flags(ohv, 0))) { SV *const sv = newSVsv(HeVAL(entry)); + SV *heksv = newSVhek(HeKEY_hek(entry)); sv_magic(sv, NULL, PERL_MAGIC_hintselem, - (char *)sv_2mortal(newSVhek (HeKEY_hek(entry))), HEf_SVKEY); + (char *)heksv, HEf_SVKEY); + SvREFCNT_dec(heksv); (void)hv_store_flags(hv, HeKEY(entry), HeKLEN(entry), sv, HeHASH(entry), HeKFLAGS(entry)); }