]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser_bison: memleak in device parser
authorPablo Neira Ayuso <pablo@netfilter.org>
Wed, 19 Feb 2020 19:56:42 +0000 (20:56 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 19 Feb 2020 19:56:42 +0000 (20:56 +0100)
==1135425== 9 bytes in 1 blocks are definitely lost in loss record 1 of 1
==1135425==    at 0x483577F: malloc (vg_replace_malloc.c:309)
==1135425==    by 0x4BE846A: strdup (strdup.c:42)
==1135425==    by 0x48A5EDD: xstrdup (utils.c:75)
==1135425==    by 0x48C9A20: nft_lex (scanner.l:640)
==1135425==    by 0x48BC1A4: nft_parse (parser_bison.c:5682)
==1135425==    by 0x48AC336: nft_parse_bison_buffer (libnftables.c:375)
==1135425==    by 0x48AC336: nft_run_cmd_from_buffer (libnftables.c:443)
==1135425==    by 0x10A707: main (main.c:384)

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/parser_bison.y

index cc77d0420cb0bae04ff7bec98e32c5236273c7b5..ad512cdbb4c255d2189979f6e8a313dd62ae6d01 100644 (file)
@@ -2141,6 +2141,7 @@ dev_spec          :       DEVICE  string
                                expr = constant_expr_alloc(&@$, &string_type,
                                                           BYTEORDER_HOST_ENDIAN,
                                                           strlen($2) * BITS_PER_BYTE, $2);
+                               xfree($2);
                                $$ = compound_expr_alloc(&@$, EXPR_LIST);
                                compound_expr_add($$, expr);