diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-06-27 12:54:23 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-06-27 12:54:43 +0200 |
commit | 6c23bfa512187d509ecc188653a6f232b0695d1d (patch) | |
tree | 67e4dd93dfe3962c455c01f8d8a8ed784dabac46 /src/segtree.c | |
parent | 8623772af06103ed4ccca3d07e55afbf3d952d6d (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.c | 2 |
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)) { |