]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
segtree: set expr->len for prefix expression from interval_map_decompose()
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 23 Apr 2016 13:47:30 +0000 (15:47 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 27 Apr 2016 10:31:58 +0000 (12:31 +0200)
This field needs to be set for the new interval overlap detection.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/segtree.c

index 668c0857804a3e90a29c410fc8505c89836c7735..f544704b42aa2afaf34691a752a68cf00484e5a6 100644 (file)
@@ -624,6 +624,7 @@ void interval_map_decompose(struct expr *set)
                        prefix_len = expr_value(i)->len - mpz_scan0(range, 0);
                        prefix = prefix_expr_alloc(&low->location, expr_value(low),
                                                   prefix_len);
+                       prefix->len = low->len;
                        prefix = set_elem_expr_alloc(&low->location, prefix);
                        if (low->ops->type == EXPR_MAPPING)
                                prefix = mapping_expr_alloc(&low->location, prefix,