]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
netlink: Fix for potential crash parsing a flowtable
authorPhil Sutter <phil@nwl.cc>
Wed, 11 Jun 2025 11:12:56 +0000 (13:12 +0200)
committerPhil Sutter <phil@nwl.cc>
Thu, 12 Jun 2025 20:55:16 +0000 (22:55 +0200)
Kernel's flowtable message might not contain the
NFTA_FLOWTABLE_HOOK_DEVS attribute. In that case, nftnl_flowtable_get()
will return NULL for the respective nftnl attribute.

Fixes: db0697ce7f602 ("src: support for flowtable listing")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Reviewed-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/netlink.c

index bed816af3123d08586fbda62c3fdec5bc07c3307..0e0d32b846d6a85b51fed5cd3cd55e1aac4fc89c 100644 (file)
@@ -1847,7 +1847,7 @@ netlink_delinearize_flowtable(struct netlink_ctx *ctx,
        if (nftnl_flowtable_is_set(nlo, NFTNL_FLOWTABLE_FLAGS))
                flowtable->flags = nftnl_flowtable_get_u32(nlo, NFTNL_FLOWTABLE_FLAGS);
        dev_array = nftnl_flowtable_get(nlo, NFTNL_FLOWTABLE_DEVICES);
-       while (dev_array[len])
+       while (dev_array && dev_array[len])
                len++;
 
        if (len)