From: Phil Sutter Date: Thu, 24 Aug 2017 17:14:13 +0000 (+0200) Subject: parser: Fix for memleak when commands fail X-Git-Tag: v0.8~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4344bd829c00523b80f09bebf2a70c588b64c2a;p=thirdparty%2Fnftables.git 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 --- 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