diff options
author | Father Chrysostomos <sprout@cpan.org> | 2010-10-21 18:18:42 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-10-21 20:13:38 -0700 |
commit | cefd5c7c8c45828fd7b3bcc2bfeaeb9773752a05 (patch) | |
tree | 479e903901ef7e64da14b7d5e72f5264cd216789 /hv.c | |
parent | 158cfab664aa2a959a6c55c0d53a15678d5ffb0b (diff) | |
download | perl-cefd5c7c8c45828fd7b3bcc2bfeaeb9773752a05.tar.gz |
[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?)
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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) { |