From: Father Chrysostomos Date: Fri, 22 Oct 2010 01:18:42 +0000 (-0700) Subject: [perl #78488] Bleadperl 304474c3 breaks GFUJI/Test-LeakTrace-0.13.tar.gz X-Git-Tag: accepted/trunk/20130322.191538~7237 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cefd5c7c8c45828fd7b3bcc2bfeaeb9773752a05;p=platform%2Fupstream%2Fperl.git [perl #78488] Bleadperl 304474c3 breaks GFUJI/Test-LeakTrace-0.13.tar.gz This commit restores an SvREFCNT_dec that was inadvertently removed. c8bbf67 removed the SvREFCNT_dec(HeVAL(entry)), adding SvREFCNT_dec(old_val) instead. 304474c3 reverted that block, but failed to restore the SvREFCNT_dec(HeVAL(entry)). The result was that the %INC entry created by do "file" was leaking. (Y’know, giving out commit bits to just *anyone* who comes along with a few patches seems dangerous. Has anybody been looking at what I’m doing?) --- diff --git a/hv.c b/hv.c index 08867cf..808a4bf 100644 --- a/hv.c +++ b/hv.c @@ -692,6 +692,7 @@ Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, } HeVAL(entry) = val; } else if (action & HV_FETCH_ISSTORE) { + SvREFCNT_dec(HeVAL(entry)); HeVAL(entry) = val; } } else if (HeVAL(entry) == &PL_sv_placeholder) {