diff options
Diffstat (limited to 'src/expr/dynset.c')
| -rw-r--r-- | src/expr/dynset.c | 12 |
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); |
