summaryrefslogtreecommitdiffstats
path: root/src/segtree.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2022-06-27 12:54:23 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2022-06-27 12:54:43 +0200
commit6c23bfa512187d509ecc188653a6f232b0695d1d (patch)
tree67e4dd93dfe3962c455c01f8d8a8ed784dabac46 /src/segtree.c
parent8623772af06103ed4ccca3d07e55afbf3d952d6d (diff)
segtree: fix map listing with interface wildcard
# nft -f - <<'EOF' table inet filter { chain INPUT { iifname vmap { "eth0" : jump input_lan, "wg*" : jump input_vpn } } chain input_lan {} chain input_vpn {} } EOF # nft list ruleset nft: segtree.c:578: interval_map_decompose: Assertion `low->len / 8 > 0' failed. Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1617 Fixes: 5e393ea1fc0a ("segtree: add string "range" reversal support") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/segtree.c')
-rw-r--r--src/segtree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/segtree.c b/src/segtree.c
index f9cac373..c36497ce 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -575,7 +575,7 @@ void interval_map_decompose(struct expr *set)
if (!mpz_cmp_ui(range, 0)) {
if (expr_basetype(low)->type == TYPE_STRING)
- mpz_switch_byteorder(expr_value(low)->value, low->len / BITS_PER_BYTE);
+ mpz_switch_byteorder(expr_value(low)->value, expr_value(low)->len / BITS_PER_BYTE);
low->flags |= EXPR_F_KERNEL;
compound_expr_add(set, expr_get(low));
} else if (range_is_prefix(range) && !mpz_cmp_ui(p, 0)) {