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
