summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/evaluate.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index 1d5db4da..ccee7e21 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -1363,10 +1363,12 @@ static int __expr_evaluate_set_elem(struct eval_ctx *ctx, struct expr *elem)
"number of statements mismatch, set expects %d "
"but element has %d", num_set_exprs,
num_elem_exprs);
- } else if (num_set_exprs == 0 && !(set->flags & NFT_SET_EVAL)) {
- return expr_error(ctx->msgs, elem,
- "missing statements in %s definition",
- set_is_map(set->flags) ? "map" : "set");
+ } else if (num_set_exprs == 0) {
+ if (!(set->flags & NFT_SET_EVAL))
+ return expr_error(ctx->msgs, elem,
+ "missing statements in %s definition",
+ set_is_map(set->flags) ? "map" : "set");
+ return 0;
}
set_stmt = list_first_entry(&set->stmt_list, struct stmt, list);