summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index b16afcebcd..2a5d6ba1d2 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2282,6 +2282,7 @@ PP(pp_enteriter)
SV * const sv = POPs;
itervarp = (void *)sv;
if (LIKELY(isGV(sv))) { /* symbol table variable */
+ SvREFCNT_inc_simple_void(sv);
itersave = GvSV(sv);
SvREFCNT_inc_simple_void(itersave);
cxflags = CXp_FOR_GV;
@@ -2294,6 +2295,7 @@ PP(pp_enteriter)
assert(SvMAGIC(sv)->mg_type == PERL_MAGIC_lvref);
itersave = NULL;
cxflags = CXp_FOR_LVREF;
+ SvREFCNT_inc_simple_void(sv);
}
}
/* OPpITER_DEF (implicit $_) should only occur with a GV iter var */