diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-09-15 18:03:41 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-09-15 18:03:41 -0700 |
commit | 34d81fc46b99fe9152b3744e81381ff804c6451c (patch) | |
tree | 9a8d2bb436479a7b2e84eeb6e526ae31c77b5656 /gv.c | |
parent | 53d063424e1103bbc2fe13cbdd0f9854820c1adf (diff) | |
download | perl-34d81fc46b99fe9152b3744e81381ff804c6451c.tar.gz |
Avoid reifing GVs in gv.c:gv_try_downgrade
I’m not sure that it’s even possible for a CV with a name hek to reach
this code path, but if that happens this avoids reifying the GV.
Diffstat (limited to 'gv.c')
-rw-r--r-- | gv.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3504,7 +3504,7 @@ Perl_gv_try_downgrade(pTHX_ GV *gv) (void)hv_deletehek(stash, gvnhek, G_DISCARD); } else if (GvMULTI(gv) && cv && SvREFCNT(cv) == 1 && !SvOBJECT(cv) && !SvMAGICAL(cv) && !SvREADONLY(cv) && - CvSTASH(cv) == stash && CvGV(cv) == gv && + CvSTASH(cv) == stash && !CvNAMED(cv) && CvGV(cv) == gv && CvCONST(cv) && !CvMETHOD(cv) && !CvLVALUE(cv) && !CvUNIQUE(cv) && !CvNODEBUG(cv) && !CvCLONE(cv) && !CvCLONED(cv) && !CvANON(cv) && (namehek = GvNAME_HEK(gv)) && |