When discarding a token free the op associated with it
Gerard Goossen [Fri, 18 Dec 2009 17:41:00 +0000 (18:41 +0100)]
When discarding a token free the op associated with it.

Fixes memory leak in comp/parser.t

Gerard Goossen

From 7694ec023ec8856f34964b5eeea58f1b588c89bc Mon Sep 17 00:00:00 2001
From: Gerard Goossen <gerard@ggoossen.net>
Date: Fri, 18 Dec 2009 18:32:11 +0100
Subject: [PATCH 4/4] When discarding a token free the op associated with it.
Status: O
Content-Length: 438
Lines: 20

Fixes memory leak in comp/parser.t

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>

perly.c

diff --git a/perly.c b/perly.c
index 0709307..3624ca3 100644 (file)
--- a/perly.c
+++ b/perly.c
@@ -614,6 +614,8 @@ Perl_yyparse (pTHX)
        }
 
        YYDSYMPRINTF ("Error: discarding", yytoken, &parser->yylval);
+       if (yy_type_tab[yytoken] == toketype_opval)
+           op_free(parser->yylval.opval);
        parser->yychar = YYEMPTY;
 
     }