diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/evaluate.c | 4 | ||||
-rw-r--r-- | src/intervals.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index 8196d3d3..5b585714 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -4845,8 +4845,10 @@ static int elems_evaluate(struct eval_ctx *ctx, struct set *set) __expr_set_context(&ctx->ectx, set->key->dtype, set->key->byteorder, set->key->len, 0); - if (expr_evaluate(ctx, &set->init) < 0) + if (expr_evaluate(ctx, &set->init) < 0) { + set->errors = true; return -1; + } if (set->init->etype != EXPR_SET) return expr_error(ctx->msgs, set->init, "Set %s: Unexpected initial type %s, missing { }?", set->handle.set.name, expr_name(set->init)); diff --git a/src/intervals.c b/src/intervals.c index 5a88a8eb..68728349 100644 --- a/src/intervals.c +++ b/src/intervals.c @@ -132,7 +132,7 @@ static void set_sort_splice(struct expr *init, struct set *set) set_to_range(init); list_expr_sort(&init->expressions); - if (!existing_set) + if (!existing_set || existing_set->errors) return; if (existing_set->init) { |