From 87ba510fc704f766b5417d3bfc326e8ab9378c2a Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 13 Jun 2022 17:22:47 +0200 Subject: intervals: do not report exact overlaps for new elements Two new elements that represent an exact overlap should not trigger an error. add table t add set t s { type ipv4_addr; flags interval; } add element t s { 1.0.1.0/24 } ... add element t s { 1.0.1.0/24 } result in a bogus error. # nft -f set.nft set.nft:1002:19-28: Error: conflicting intervals specified add element t s { 1.0.1.0/24 } ^^^^^^^^^^ Fixes: 3da9643fb9ff ("intervals: add support to automerge with kernel elements") Signed-off-by: Pablo Neira Ayuso --- src/intervals.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/intervals.c') diff --git a/src/intervals.c b/src/intervals.c index bc414d6c..89f5c33d 100644 --- a/src/intervals.c +++ b/src/intervals.c @@ -540,8 +540,7 @@ static int setelem_overlap(struct list_head *msgs, struct set *set, } if (mpz_cmp(prev_range.low, range.low) == 0 && - mpz_cmp(prev_range.high, range.high) == 0 && - (elem->flags & EXPR_F_KERNEL || prev->flags & EXPR_F_KERNEL)) + mpz_cmp(prev_range.high, range.high) == 0) goto next; if (mpz_cmp(prev_range.low, range.low) <= 0 && -- cgit v1.2.3