diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/evaluate.c | 3 | ||||
-rw-r--r-- | src/parser_bison.y | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index 42040b6e..640a7d46 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -1897,6 +1897,9 @@ static int expr_evaluate_relational(struct eval_ctx *ctx, struct expr **expr) return -1; break; case EXPR_SET: + if (right->size == 0) + return expr_error(ctx->msgs, right, "Set is empty"); + right = rel->right = implicit_set_declaration(ctx, "__set%d", expr_get(left), NULL, diff --git a/src/parser_bison.y b/src/parser_bison.y index 461d9bf2..72e67186 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -3820,6 +3820,7 @@ set_rhs_expr : concat_rhs_expr initializer_expr : rhs_expr | list_rhs_expr + | '{' '}' { $$ = compound_expr_alloc(&@$, EXPR_SET); } ; counter_config : PACKETS NUM BYTES NUM |