diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2024-07-04 14:35:07 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2024-07-05 00:10:47 +0200 |
commit | dc6950a80110d6e6f63bd6f5c308d202db698f46 (patch) | |
tree | e06546067bb9b7a07ce0ccfdcef1fa5d21c4fd8a | |
parent | b523008535f3de78ed5834a302ba07cda4b4c8fd (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.c | 4 |
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); |