]> git.ipfire.org Git - thirdparty/nftables.git/commit
segtree: add missing non-matching segment to set in flat representation
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 5 Mar 2019 23:51:03 +0000 (00:51 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 6 Mar 2019 10:12:41 +0000 (11:12 +0100)
commitb1436403417697b8647956ff91d40a5982aba477
tree9f1d1a9eb61f752d0a4ce2f479cc07a72fc0828e
parent2277a8cf318359885be67aad566c70f497551cca
segtree: add missing non-matching segment to set in flat representation

 # cat test.nft
 add set x y { type ipv4_addr; }
 add element x y { 10.0.24.0/24 }
 # nft -f test.nft
 # nft delete element x y { 10.0.24.0/24 }

bogusly returns -ENOENT. The non-matching segment (0.0.0.0 with end-flag
set on) is not added to the set in the example above.

This patch also adds a test to cover this case.

Fixes: 4935a0d561b5 ("segtree: special handling for the first non-matching segment")
Reported-by: Václav Zindulka <vaclav.zindulka@tlapnet.cz>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/segtree.c
tests/shell/testcases/sets/0035add_set_elements_flat_0 [new file with mode: 0755]