summaryrefslogtreecommitdiffstats
path: root/src/segtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/segtree.c')
-rw-r--r--src/segtree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/segtree.c b/src/segtree.c
index eff0653a..5d6ecd4f 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -496,7 +496,8 @@ static void segtree_linearize(struct list_head *list, const struct set *set,
* (prev_right, ei_left).
*/
mpz_add_ui(p, prev->right, 1);
- if (mpz_cmp(p, ei->left) < 0) {
+ if (mpz_cmp(p, ei->left) < 0 ||
+ !(set->flags & NFT_SET_ANONYMOUS)) {
mpz_sub_ui(q, ei->left, 1);
nei = ei_alloc(p, q, NULL, EI_F_INTERVAL_END);
list_add_tail(&nei->list, list);