]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
optimize: compare meta inner_desc pointers too
authorFlorian Westphal <fw@strlen.de>
Thu, 8 Aug 2024 23:31:17 +0000 (01:31 +0200)
committerFlorian Westphal <fw@strlen.de>
Fri, 9 Aug 2024 10:30:11 +0000 (12:30 +0200)
We can't merge if one referes inner and other outer header.
Payload checks this but meta did not.

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

index 9f0965cd5fe9ad7fd927b15fb7e9fd76737ca737..224c6a526f56f054b13e6817c8fe64ce2336ca4c 100644 (file)
@@ -63,6 +63,8 @@ static bool __expr_cmp(const struct expr *expr_a, const struct expr *expr_b)
                        return false;
                if (expr_a->meta.base != expr_b->meta.base)
                        return false;
+               if (expr_a->meta.inner_desc != expr_b->meta.inner_desc)
+                       return false;
                break;
        case EXPR_CT:
                if (expr_a->ct.key != expr_b->ct.key)