]> git.vpit.fr Git - perl/modules/indirect.git/commitdiff
Stop leaking the SVs stored in the hints structure.
authorVincent Pit <vince@profvince.com>
Mon, 5 Sep 2011 17:58:10 +0000 (19:58 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 5 Sep 2011 17:58:10 +0000 (19:58 +0200)
After being clone, they only need one refcount push, which is done at the
end of indirect_clone().

indirect.xs

index dbcaad15c77d6250114a613c3151a3318375d2ba..beec19f7c470035e994c7d746297862b6d539d4a 100644 (file)
@@ -253,7 +253,6 @@ STATIC void indirect_ptable_clone(pTHX_ ptable_ent *ent, void *ud_) {
 
  h2       = PerlMemShared_malloc(sizeof *h2);
  h2->code = indirect_clone(h1->code, ud->owner);
- SvREFCNT_inc(h2->code);
 #if I_WORKAROUND_REQUIRE_PROPAGATION
  h2->require_tag = PTR2IV(indirect_clone(INT2PTR(SV *, h1->require_tag),
                                          ud->owner));
@@ -262,7 +261,6 @@ STATIC void indirect_ptable_clone(pTHX_ ptable_ent *ent, void *ud_) {
 #else  /*  I_HINT_STRUCT */
 
  h2 = indirect_clone(h1, ud->owner);
- SvREFCNT_inc(h2);
 
 #endif /* !I_HINT_STRUCT */