summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2025-07-09 00:21:49 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2025-07-10 00:13:04 +0200
commit2022e8bb5cf0e0fa81ab0a5087bd1ab6e20280ee (patch)
tree9dd55d73d94dcc64f98c7e9e12c10d2da0bd8eb5
parent6c289f572e0ab4537d1a4d2d793d30d35c6f653b (diff)
evaluate: validate set expression type before accessing flags
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>
-rw-r--r--src/evaluate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index 83381b4e..f4f72ee4 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -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;