summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/segtree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/segtree.c b/src/segtree.c
index 32e071f6..45e5f5b2 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -693,7 +693,8 @@ 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->len = expr_value(i)->len;
+
prefix = set_elem_expr_alloc(&low->location, prefix);
if (low->ops->type == EXPR_MAPPING)
prefix = mapping_expr_alloc(&low->location, prefix,