]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
netlink_linearize: add assertion to catch for buggy byteorder
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 8 Feb 2024 12:20:43 +0000 (13:20 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 22 Jan 2025 23:41:54 +0000 (00:41 +0100)
commit 8a34cca265a290a0b23cec27d5258bc432cef3d3 upstream.

Add assertion to catch buggy bytecode where unary expression is present
with 1-byte selectors, where no byteorder conversion is required.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/netlink_linearize.c

index c2cb4f7324987f1eb80012cf1d63282905a74d39..15275402eafe6a8a5bdb28783b5e2ebfbc2845a2 100644 (file)
@@ -725,6 +725,8 @@ static void netlink_gen_unary(struct netlink_linearize_ctx *ctx,
        struct nftnl_expr *nle;
        int byte_size;
 
+       assert(div_round_up(expr->arg->len, BITS_PER_BYTE) != 1);
+
        if ((expr->arg->len % 64) == 0)
                byte_size = 8;
        else if ((expr->arg->len % 32) == 0)