This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
When discarding a token free the op associated with it
authorGerard Goossen <gerard@ggoossen.net>
Fri, 18 Dec 2009 17:41:00 +0000 (18:41 +0100)
committerH.Merijn Brand <h.m.brand@xs4all.nl>
Fri, 18 Dec 2009 18:33:15 +0000 (19:33 +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);
        }
 
        YYDSYMPRINTF ("Error: discarding", yytoken, &parser->yylval);
+       if (yy_type_tab[yytoken] == toketype_opval)
+           op_free(parser->yylval.opval);
        parser->yychar = YYEMPTY;
 
     }
        parser->yychar = YYEMPTY;
 
     }