]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
expression: constant range is not a singleton
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 16 Jun 2025 20:48:02 +0000 (22:48 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 23 Jun 2025 16:55:27 +0000 (18:55 +0200)
Remove the EXPR_F_SINGLETON flag in EXPR_RANGE_VALUE so it can be used
in maps.

expr_evaluate_set() does not toggle NFT_SET_INTERVAL for anonymous sets
because a singleton is assumed to be place, leading to this BUG:

 BUG: invalid data expression type range_value
 nft: src/netlink.c:577: netlink_gen_key: Assertion `0' failed.

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

index dc9a44677b28e8ec3148ec86ec92af60cd09c1da..aa97413d079499f208820de6dcdb8135262f0f66 100644 (file)
@@ -612,7 +612,7 @@ struct expr *constant_range_expr_alloc(const struct location *loc,
        struct expr *expr;
 
        expr = expr_alloc(loc, EXPR_RANGE_VALUE, dtype, byteorder, len);
-       expr->flags = EXPR_F_CONSTANT | EXPR_F_SINGLETON;
+       expr->flags = EXPR_F_CONSTANT;
 
        mpz_init_set(expr->range.low, low);
        mpz_init_set(expr->range.high, high);