summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-01-11 16:30:20 +0100
committerFlorian Westphal <fw@strlen.de>2018-03-17 00:33:08 +0100
commit00718d13ab3f27bac767035804feb7ad0cc15a1e (patch)
tree2e61cbc716d0ae8acf8a4fbd10067462f9b04be6 /src
parent468ad4be967842dff88e220c17c7e4bcc5c8193b (diff)
src: segtree: use value expression length
In case of EXPR_MAPPING, expr->len is 0, we need to use the length of the key instead. Without this we can get assertion failure later on: nft: netlink_delinearize.c:1484: binop_adjust_one: Assertion `value->len >= binop->right->len' failed. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src')
-rw-r--r--src/segtree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/segtree.c b/src/segtree.c
index de68071c..f8d62d7a 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -809,7 +809,7 @@ void interval_map_decompose(struct expr *set)
struct expr *tmp;
tmp = constant_expr_alloc(&low->location, low->dtype,
- low->byteorder, low->len,
+ low->byteorder, expr_value(low)->len,
NULL);
mpz_add(range, range, expr_value(low)->value);