From 2b690deea3a9e43f9f73372b3d712f55365c2379 Mon Sep 17 00:00:00 2001 From: Ana Rey Date: Tue, 19 Nov 2013 17:56:18 +0100 Subject: 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 --- src/expr/log.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/expr/log.c b/src/expr/log.c index 2d3e0cf..62db2a7 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)) -- cgit v1.2.3