From 6d1ee9267e7e5e429a84d7bb8a8644f9eebddb22 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 23 Jun 2022 18:41:21 +0200 Subject: intervals: check for EXPR_F_REMOVE in case of element mismatch If auto-merge is disable and element to be deleted finds no exact matching, then bail out. Fixes: 3e8d934e4f72 ("intervals: support to partial deletion with automerge") Signed-off-by: Pablo Neira Ayuso --- src/intervals.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/intervals.c') diff --git a/src/intervals.c b/src/intervals.c index c21b3ee0..13009ca1 100644 --- a/src/intervals.c +++ b/src/intervals.c @@ -421,6 +421,10 @@ static int setelem_delete(struct list_head *msgs, struct set *set, expr_error(msgs, i, "element does not exist"); err = -1; goto err; + } else if (i->flags & EXPR_F_REMOVE) { + expr_error(msgs, i, "element does not exist"); + err = -1; + goto err; } prev = NULL; } -- cgit v1.2.3