]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: validate set expression type before accessing flags
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 8 Jul 2025 22:21:49 +0000 (00:21 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 9 Jul 2025 22:13:04 +0000 (00:13 +0200)
Validate set->init is of EXPR_SET expression type before accessing
set_flags.

Fixes: 81e36530fcac ("src: replace interval segment tree overlap and automerge")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c

index 83381b4ef3d0891b1564f11bbfef3ffc2ef01320..f4f72ee4a4f7c345081d7b64ad955d2698a489e1 100644 (file)
@@ -5290,7 +5290,8 @@ static int set_evaluate(struct eval_ctx *ctx, struct set *set)
                set->flags |= NFT_SET_EXPR;
 
        if (set_is_anonymous(set->flags)) {
-               if (set_is_interval(set->init->set_flags) &&
+               if (set->init->etype == EXPR_SET &&
+                   set_is_interval(set->init->set_flags) &&
                    !(set->init->set_flags & NFT_SET_CONCAT) &&
                    interval_set_eval(ctx, set, set->init) < 0)
                        return -1;