]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser_bison: duplicate string returned by chain_type_name_lookup()
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 15 Mar 2016 16:11:03 +0000 (17:11 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 15 Mar 2016 16:32:19 +0000 (17:32 +0100)
This chain type string is released via chain_free() since b7cb6915a88f,
so duplicate it so we don't try to release statically allocated memory.

Fixes: b7cb6915a88f ("rule: Remove memory leak")
Reported-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/parser_bison.y

index 24c096987d7536e276ce87d17a010404b6d83b48..0592b682092ba20efde01630a7c15291799f6aa1 100644 (file)
@@ -1101,7 +1101,7 @@ type_identifier           :       STRING  { $$ = $1; }
 
 hook_spec              :       TYPE            STRING          HOOK            STRING          dev_spec        PRIORITY        prio_spec
                        {
-                               $<chain>0->type         = chain_type_name_lookup($2);
+                               $<chain>0->type         = xstrdup(chain_type_name_lookup($2));
                                if ($<chain>0->type == NULL) {
                                        erec_queue(error(&@2, "unknown chain type %s", $2),
                                                   state->msgs);