In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/923ed5809c063091fb0f77dc6f1b8231d587d13e?hp=b9c683b3026f8b924b08be79f012dedd1aaa07ad>
- Log ----------------------------------------------------------------- commit 923ed5809c063091fb0f77dc6f1b8231d587d13e Author: Father Chrysostomos <[email protected]> Date: Sun Mar 1 22:42:04 2015 -0800 [perl #123960] sv.c: Fix gp_free -Do output We try to print âgp_free clearing PL_stashcache for '%"HEKf"'â, but without checking that we actually have a hek. This has been this way since 103f5a36127. ----------------------------------------------------------------------- Summary of changes: gv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gv.c b/gv.c index 41cebeb..2eb18e4 100644 --- a/gv.c +++ b/gv.c @@ -2540,9 +2540,12 @@ Perl_gp_free(pTHX_ GV *gv) Somehow gp->gp_hv can end up pointing at freed garbage. */ if (hv && SvTYPE(hv) == SVt_PVHV) { const HEK *hvname_hek = HvNAME_HEK(hv); - DEBUG_o(Perl_deb(aTHX_ "gp_free clearing PL_stashcache for '%"HEKf"'\n", HEKfARG(hvname_hek))); - if (PL_stashcache && hvname_hek) + if (PL_stashcache && hvname_hek) { + DEBUG_o(Perl_deb(aTHX_ + "gp_free clearing PL_stashcache for '%"HEKf"'\n", + HEKfARG(hvname_hek))); (void)hv_deletehek(PL_stashcache, hvname_hek, G_DISCARD); + } SvREFCNT_dec(hv); } if (io && SvREFCNT(io) == 1 && IoIFP(io) -- Perl5 Master Repository
