]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
src: invalid read when importing chain name (trace and json)
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 10 Jun 2019 11:32:47 +0000 (13:32 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 10 Jun 2019 11:37:41 +0000 (13:37 +0200)
Update trace and json too.

Fixes: 142350f154c7 ("src: invalid read when importing chain name")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/netlink.c
src/parser_json.c

index e9779684ac0974eaa39cd084aaaf7fc8db0bf031..7a4312498ce8da902c6905ce0434f2a103f58519 100644 (file)
@@ -1172,8 +1172,7 @@ static void trace_print_verdict(const struct nftnl_trace *nlt,
                chain_expr = constant_expr_alloc(&netlink_location,
                                                 &string_type,
                                                 BYTEORDER_HOST_ENDIAN,
-                                                NFT_CHAIN_MAXNAMELEN
-                                                * BITS_PER_BYTE,
+                                                strlen(chain) * BITS_PER_BYTE,
                                                 chain);
        }
        expr = verdict_expr_alloc(&netlink_location, verdict, chain_expr);
index 081cf5da7f39cf5e76edbece7059c100633b0bcc..ac110f16fe812395a7ce13694d5ddf0e71ddc67b 100644 (file)
@@ -1059,7 +1059,7 @@ static struct expr *json_alloc_chain_expr(const char *chain)
                return NULL;
 
        return constant_expr_alloc(int_loc, &string_type, BYTEORDER_HOST_ENDIAN,
-                                  NFT_CHAIN_MAXNAMELEN * BITS_PER_BYTE, chain);
+                                  strlen(chain) * BITS_PER_BYTE, chain);
 }
 
 static struct expr *json_parse_verdict_expr(struct json_ctx *ctx,