From: Ana Rey Date: Tue, 19 Nov 2013 16:56:18 +0000 (+0100) Subject: expr: log: fix missing \0 when sending log prefix to kernel X-Git-Tag: libnftnl-1.0.0~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b690deea;p=thirdparty%2Flibnftnl.git expr: log: fix missing \0 when sending log prefix to kernel If I run my automatic unit test for libnftables, It shows: "ERROR: Expr NFT_EXPR_LOG_PREFIX mismatches" a: test b: test ^^ garbage The problem was in nft_rule_expr_log_build function. With the attached patch, we use mnl_attr_put_strz() instead of mnl_attr_put_str() as in other functions in the library. Signed-off-by: Ana Rey Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/expr/log.c b/src/expr/log.c index 2d3e0cf7..62db2a7f 100644 --- a/src/expr/log.c +++ b/src/expr/log.c @@ -119,7 +119,7 @@ nft_rule_expr_log_build(struct nlmsghdr *nlh, struct nft_rule_expr *e) struct nft_expr_log *log = nft_expr_data(e); if (e->flags & (1 << NFT_EXPR_LOG_PREFIX)) - mnl_attr_put_str(nlh, NFTA_LOG_PREFIX, log->prefix); + mnl_attr_put_strz(nlh, NFTA_LOG_PREFIX, log->prefix); if (e->flags & (1 << NFT_EXPR_LOG_GROUP)) mnl_attr_put_u16(nlh, NFTA_LOG_GROUP, htons(log->group)); if (e->flags & (1 << NFT_EXPR_LOG_SNAPLEN))