summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2024-07-04 14:35:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2024-07-05 00:10:47 +0200
commitdc6950a80110d6e6f63bd6f5c308d202db698f46 (patch)
treee06546067bb9b7a07ce0ccfdcef1fa5d21c4fd8a
parentb523008535f3de78ed5834a302ba07cda4b4c8fd (diff)
segtree: set on EXPR_F_KERNEL flag for catchall elements in the cache
Catchall set element deletion requires this flag to be set on, otherwise it bogusly reports that such element does not exist in the set. Fixes: f1cc44edb218 ("src: add EXPR_F_KERNEL to identify expression in the kernel") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/segtree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/segtree.c b/src/segtree.c
index 5e6f857f..4df96467 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -629,8 +629,10 @@ void interval_map_decompose(struct expr *set)
expr_free(i);
out:
- if (catchall)
+ if (catchall) {
+ catchall->flags |= EXPR_F_KERNEL;
compound_expr_add(set, catchall);
+ }
free(ranges);
free(elements);