summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2023-02-21 18:36:01 +0100
committerPhil Sutter <phil@nwl.cc>2023-02-21 19:48:04 +0100
commit1344d9e53ba4d67cedd13a2c76a970fc7ce65683 (patch)
tree9920829919f0cfa3f0c49d24e73875cdfd5de12f
parenteab3eb7f146c07009ccd16ed41afd2769882fca0 (diff)
netlink_delinearize: Sanitize concat data element decoding
The call to netlink_get_register() might return NULL, catch this before dereferencing the pointer. Fixes: db59a5c1204c9 ("netlink_delinearize: fix decoding of concat data element") Signed-off-by: Phil Sutter <phil@nwl.cc> Acked-by: Florian Westphal <fw@strlen.de>
-rw-r--r--src/netlink_delinearize.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index f4ab476e..00221505 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -1749,7 +1749,7 @@ static void netlink_parse_dynset(struct netlink_parse_ctx *ctx,
sreg_data = netlink_parse_register(nle, NFTNL_EXPR_DYNSET_SREG_DATA);
expr_data = netlink_get_register(ctx, loc, sreg_data);
- if (expr_data->len < set->data->len) {
+ if (expr_data && expr_data->len < set->data->len) {
expr_free(expr_data);
expr_data = netlink_parse_concat_expr(ctx, loc, sreg_data, set->data->len);
if (expr_data == NULL)