diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-04-18 15:06:09 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-04-25 15:48:23 +0200 |
commit | 4935a0d561b57f46cdd0649b3bb1063f7e897f00 (patch) | |
tree | 2f8b2c2f593d0291fc20a209249ce3ef793be1ba /src/rule.c | |
parent | 13aa334805c461a57ce70f6bf15ca8b2ea4c8473 (diff) |
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 <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r-- | src/rule.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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) |