summaryrefslogtreecommitdiffstats
path: root/src/expr/dynset.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/dynset.c')
-rw-r--r--src/expr/dynset.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/expr/dynset.c b/src/expr/dynset.c
index 40f9136..dc74fbb 100644
--- a/src/expr/dynset.c
+++ b/src/expr/dynset.c
@@ -245,13 +245,11 @@ nftnl_expr_dynset_parse(struct nftnl_expr *e, struct nlattr *attr)
dynset->timeout = be64toh(mnl_attr_get_u64(tb[NFTA_DYNSET_TIMEOUT]));
e->flags |= (1 << NFTNL_EXPR_DYNSET_TIMEOUT);
}
- if (tb[NFTA_DYNSET_SET_NAME]) {
- dynset->set_name =
- strdup(mnl_attr_get_str(tb[NFTA_DYNSET_SET_NAME]));
- if (!dynset->set_name)
- return -1;
- e->flags |= (1 << NFTNL_EXPR_DYNSET_SET_NAME);
- }
+ if (nftnl_parse_str_attr(tb[NFTA_DYNSET_SET_NAME],
+ NFTNL_EXPR_DYNSET_SET_NAME,
+ (const char **)&dynset->set_name,
+ &e->flags) < 0)
+ return -1;
if (tb[NFTA_DYNSET_SET_ID]) {
dynset->set_id = ntohl(mnl_attr_get_u32(tb[NFTA_DYNSET_SET_ID]));
e->flags |= (1 << NFTNL_EXPR_DYNSET_SET_ID);