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 --- tests/shell/testcases/sets/errors_0 | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'tests/shell/testcases/sets') diff --git a/tests/shell/testcases/sets/errors_0 b/tests/shell/testcases/sets/errors_0 index 2960b694..a676ac73 100755 --- a/tests/shell/testcases/sets/errors_0 +++ b/tests/shell/testcases/sets/errors_0 @@ -1,7 +1,5 @@ #!/bin/bash -set -e - RULESET="table ip x { set y { type ipv4_addr @@ -11,4 +9,22 @@ RULESET="table ip x { delete element ip x y { 2.3.4.5 }" +$NFT -f - <<< $RULESET +if [ $? -eq 0 ] +then + exit 1 +fi + +RULESET="table ip x { + set y { + type ipv4_addr + flags interval + } +} + +add element x y { 1.1.1.1/24 } +delete element x y { 1.1.1.1/24 } +add element x y { 1.1.1.1/24 } +delete element x y { 2.2.2.2/24 }" + $NFT -f - <<< $RULESET || exit 0 -- cgit v1.2.3