From 1344d9e53ba4d67cedd13a2c76a970fc7ce65683 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 21 Feb 2023 18:36:01 +0100 Subject: 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 Acked-by: Florian Westphal --- src/netlink_delinearize.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/netlink_delinearize.c') 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) -- cgit v1.2.3