summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/evaluate.c3
-rw-r--r--src/netlink.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index cebf7cb8..8105d8d5 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -3787,6 +3787,9 @@ static int set_evaluate(struct eval_ctx *ctx, struct set *set)
set->key->byteorder, set->key->len, 0);
if (expr_evaluate(ctx, &set->init) < 0)
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));
}
ctx->set = NULL;
diff --git a/src/netlink.c b/src/netlink.c
index 103fdbd1..97ae88c7 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -120,6 +120,9 @@ static struct nftnl_set_elem *alloc_nftnl_setelem(const struct expr *set,
} else {
elem = expr;
}
+ if (elem->etype != EXPR_SET_ELEM)
+ BUG("Unexpected expression type: got %d\n", elem->etype);
+
key = elem->key;
netlink_gen_data(key, &nld);