summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorAlex Vandiver <alexmv@mit.edu>2009-05-29 20:17:36 -0400
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2009-05-30 15:57:38 +0200
commitcda5537682a2f5132de1e0387c105e67a72efce4 (patch)
tree2f8efac5300c777f4d3fc36ea675288c8ea3e7d5 /pp_ctl.c
parentf6c108d16c4c959f6b02d66f43f3ee84cbcc24b8 (diff)
downloadperl-cda5537682a2f5132de1e0387c105e67a72efce4.tar.gz
Fix [RT#63110] -- two small memory leaks were introduced in 5b9c067
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 5adfc686b9..a7f1b76221 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -3668,8 +3668,11 @@ PP(pp_entereval)
introduced within evals. See force_ident(). GSAR 96-10-12 */
SAVEHINTS();
PL_hints = PL_op->op_targ;
- if (saved_hh)
+ if (saved_hh) {
+ /* SAVEHINTS created a new HV in PL_hintgv, which we need to GC */
+ SvREFCNT_dec(GvHV(PL_hintgv));
GvHV(PL_hintgv) = saved_hh;
+ }
SAVECOMPILEWARNINGS();
PL_compiling.cop_warnings = DUP_WARNINGS(PL_curcop->cop_warnings);
if (PL_compiling.cop_hints_hash) {