summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2024-09-23 00:16:02 +0200
committerFlorian Westphal <fw@strlen.de>2024-09-23 11:35:57 +0200
commit83930cea4130b6232af36bb869b67f829db534ed (patch)
treed5726eab2a4eec314c2ca8ba55aaf4a16c3ccafb /src
parent116e95aa7b6358c917de8c69f6f173874030b46b (diff)
expr: dynset: validate expressions are of nested type
This was not handled in the switch statement so far. Also, use proper max value, SET_MAX is larger than what is needed for parsing. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src')
-rw-r--r--src/expr/dynset.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/expr/dynset.c b/src/expr/dynset.c
index 8a159f8..9d2bfe5 100644
--- a/src/expr/dynset.c
+++ b/src/expr/dynset.c
@@ -118,7 +118,7 @@ static int nftnl_expr_dynset_cb(const struct nlattr *attr, void *data)
const struct nlattr **tb = data;
int type = mnl_attr_get_type(attr);
- if (mnl_attr_type_valid(attr, NFTA_SET_MAX) < 0)
+ if (mnl_attr_type_valid(attr, NFTA_DYNSET_MAX) < 0)
return MNL_CB_OK;
switch (type) {
@@ -139,6 +139,7 @@ static int nftnl_expr_dynset_cb(const struct nlattr *attr, void *data)
abi_breakage();
break;
case NFTA_DYNSET_EXPR:
+ case NFTA_DYNSET_EXPRESSIONS:
if (mnl_attr_validate(attr, MNL_TYPE_NESTED) < 0)
abi_breakage();
break;
@@ -225,7 +226,7 @@ static int
nftnl_expr_dynset_parse(struct nftnl_expr *e, struct nlattr *attr)
{
struct nftnl_expr_dynset *dynset = nftnl_expr_data(e);
- struct nlattr *tb[NFTA_SET_MAX+1] = {};
+ struct nlattr *tb[NFTA_DYNSET_MAX+1] = {};
struct nftnl_expr *expr, *next;
int ret = 0;