From d4344bd829c00523b80f09bebf2a70c588b64c2a Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Thu, 24 Aug 2017 19:14:13 +0200 Subject: parser: Fix for memleak when commands fail In case of failing command evaluation, commands need to be freed as their memory becomes orphaned afterwards. Signed-off-by: Phil Sutter --- src/parser_bison.y | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/parser_bison.y b/src/parser_bison.y index a8b71cdd..d149178c 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -692,6 +692,7 @@ input : /* empty */ list_add_tail(&$2->list, &list); if (cmd_evaluate(&state->ectx, $2) < 0) { + cmd_free($2); if (++state->nerrs == nft->parser_max_errors) YYABORT; } else @@ -758,6 +759,7 @@ line : common_block { $$ = NULL; } list_add_tail(&$1->list, &list); if (cmd_evaluate(&state->ectx, $1) < 0) { + cmd_free($1); if (++state->nerrs == nft->parser_max_errors) YYABORT; } else -- cgit v1.2.3