In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/cefd5c7c8c45828fd7b3bcc2bfeaeb9773752a05?hp=158cfab664aa2a959a6c55c0d53a15678d5ffb0b>

- Log -----------------------------------------------------------------
commit cefd5c7c8c45828fd7b3bcc2bfeaeb9773752a05
Author: Father Chrysostomos <[email protected]>
Date:   Thu Oct 21 18:18:42 2010 -0700

    [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?)
-----------------------------------------------------------------------

Summary of changes:
 hv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

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) {

--
Perl5 Master Repository

Reply via email to