]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
optimize: check for payload base and offset when searching for mergers
authorPablo Neira Ayuso <pablo@netfilter.org>
Wed, 26 Jan 2022 22:10:51 +0000 (23:10 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 26 Jan 2022 22:31:12 +0000 (23:31 +0100)
Extend the existing checks to cover the payload base and offset.

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

index 9a93e3b8d296bc08067dc21f119e5c8b98128a97..5882f3bd005d7a0147c30895f5fb6c14e61d1ffd 100644 (file)
@@ -40,6 +40,10 @@ static bool __expr_cmp(const struct expr *expr_a, const struct expr *expr_b)
 
        switch (expr_a->etype) {
        case EXPR_PAYLOAD:
+               if (expr_a->payload.base != expr_b->payload.base)
+                       return false;
+               if (expr_a->payload.offset != expr_b->payload.offset)
+                       return false;
                if (expr_a->payload.desc != expr_b->payload.desc)
                        return false;
                if (expr_a->payload.tmpl != expr_b->payload.tmpl)