In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/31f1461f4bbbc0db195fcb42708a5e4340d7eee0?hp=52e96e24558c7565ebbef0d0c5fc53f9863bd154>

- Log -----------------------------------------------------------------
commit 31f1461f4bbbc0db195fcb42708a5e4340d7eee0
Author: Father Chrysostomos <[email protected]>
Date:   Sat Oct 23 17:04:42 2010 -0700

    sv_setsv_flags was also using a potentially freed HV
-----------------------------------------------------------------------

Summary of changes:
 sv.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/sv.c b/sv.c
index a091bf0..a42452a 100644
--- a/sv.c
+++ b/sv.c
@@ -4033,7 +4033,11 @@ Perl_sv_setsv_flags(pTHX_ SV *dstr, register SV* sstr, 
const I32 flags)
                if (len > 1 && name[len-2] == ':' && name[len-1] == ':') {
                    /* Set aside the old stash, so we can reset isa caches
                       on its subclasses. */
-                   old_stash = GvHV(dstr);
+                   if((old_stash = GvHV(dstr)));
+                       /* Make sure we do not lose it early. */
+                       SvREFCNT_inc_simple_void_NN(
+                        sv_2mortal((SV *)old_stash)
+                       );
                    reset_isa = TRUE;
                }
 

--
Perl5 Master Repository

Reply via email to