summaryrefslogtreecommitdiffstats
path: root/src/expr/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/log.c')
-rw-r--r--src/expr/log.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/expr/log.c b/src/expr/log.c
index d4b53e6..ead2437 100644
--- a/src/expr/log.c
+++ b/src/expr/log.c
@@ -147,15 +147,10 @@ nftnl_expr_log_parse(struct nftnl_expr *e, struct nlattr *attr)
if (mnl_attr_parse_nested(attr, nftnl_expr_log_cb, tb) < 0)
return -1;
- if (tb[NFTA_LOG_PREFIX]) {
- if (log->prefix)
- xfree(log->prefix);
-
- log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX]));
- if (!log->prefix)
- return -1;
- e->flags |= (1 << NFTNL_EXPR_LOG_PREFIX);
- }
+ if (nftnl_parse_str_attr(tb[NFTA_LOG_PREFIX],
+ NFTNL_EXPR_LOG_PREFIX,
+ &log->prefix, &e->flags) < 0)
+ return -1;
if (tb[NFTA_LOG_GROUP]) {
log->group = ntohs(mnl_attr_get_u16(tb[NFTA_LOG_GROUP]));
e->flags |= (1 << NFTNL_EXPR_LOG_GROUP);