From 4935a0d561b57f46cdd0649b3bb1063f7e897f00 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 18 Apr 2016 15:06:09 +0200 Subject: segtree: special handling for the first non-matching segment Add the first non-matching segment if the set is empty or if the set becomes empty after the element removal. Signed-off-by: Pablo Neira Ayuso --- src/rule.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/rule.c') diff --git a/src/rule.c b/src/rule.c index 4b112d21..b2f58f43 100644 --- a/src/rule.c +++ b/src/rule.c @@ -878,7 +878,7 @@ static int __do_add_setelems(struct netlink_ctx *ctx, const struct handle *h, struct set *set, struct expr *expr) { if (set->flags & SET_F_INTERVAL && - set_to_intervals(ctx->msgs, set, expr) < 0) + set_to_intervals(ctx->msgs, set, expr, true) < 0) return -1; if (netlink_add_setelems(ctx, h, expr) < 0) @@ -995,7 +995,7 @@ static int do_delete_setelems(struct netlink_ctx *ctx, const struct handle *h, set = set_lookup(table, h->set); if (set->flags & SET_F_INTERVAL && - set_to_intervals(ctx->msgs, set, expr) < 0) + set_to_intervals(ctx->msgs, set, expr, false) < 0) return -1; if (netlink_delete_setelems(ctx, h, expr) < 0) -- cgit v1.2.3