]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
payload: don't resolve expressions using the inet pseudoheader
authorFlorian Westphal <fw@strlen.de>
Sat, 24 Feb 2018 10:10:27 +0000 (11:10 +0100)
committerFlorian Westphal <fw@strlen.de>
Mon, 26 Feb 2018 13:30:48 +0000 (14:30 +0100)
Else, '@ll,0,8' will be mapped to 'inet nfproto', but thats
not correct (inet is a pseudo header).

Signed-off-by: Florian Westphal <fw@strlen.de>
src/payload.c

index a1e7e77ed5c5fedeb2cc5a6e1c5be63967db3372..ef437b440b289e470370800513c22d236a87dcd5 100644 (file)
@@ -535,7 +535,7 @@ void payload_expr_complete(struct expr *expr, const struct proto_ctx *ctx)
        assert(expr->ops->type == EXPR_PAYLOAD);
 
        desc = ctx->protocol[expr->payload.base].desc;
-       if (desc == NULL)
+       if (desc == NULL || desc == &proto_inet)
                return;
        assert(desc->base == expr->payload.base);