netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [libnftnl PATCH 1/2] utils: ensure \0 is in place in nft_fprintf()
@ 2014-08-25 13:02 Arturo Borrero Gonzalez
  2014-08-25 13:02 ` [libnftnl PATCH 2/2] src: improve printing of XML/JSON event wrapper header/footer Arturo Borrero Gonzalez
  2014-08-25 14:09 ` [libnftnl PATCH 1/2] utils: ensure \0 is in place in nft_fprintf() Pablo Neira Ayuso
  0 siblings, 2 replies; 4+ messages in thread
From: Arturo Borrero Gonzalez @ 2014-08-25 13:02 UTC (permalink / raw)
  To: netfilter-devel; +Cc: pablo

We must make sure the buffer contains a \0 in the last position,
to avoid printing trash by the last fprintf() call.

This is needed because if the internal snprintf callback prints nothing,
no \0 exists in the buffer.

Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
---
 src/utils.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/utils.c b/src/utils.c
index 96c8bf2..8a7c521 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -189,6 +189,8 @@ int nft_fprintf(FILE *fp, void *obj, uint32_t type, uint32_t flags,
 	size_t bufsiz = sizeof(_buf);
 	int ret;
 
+	buf[0] = '\0';
+
 	ret = snprintf_cb(buf, bufsiz, obj, type, flags);
 	if (ret < 0)
 		goto out;
@@ -200,6 +202,8 @@ int nft_fprintf(FILE *fp, void *obj, uint32_t type, uint32_t flags,
 		if (buf == NULL)
 			return -1;
 
+		buf[0] = '\0';
+
 		ret = snprintf_cb(buf, bufsiz, obj, type, flags);
 		if (ret < 0)
 			goto out;


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-08-25 14:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-25 13:02 [libnftnl PATCH 1/2] utils: ensure \0 is in place in nft_fprintf() Arturo Borrero Gonzalez
2014-08-25 13:02 ` [libnftnl PATCH 2/2] src: improve printing of XML/JSON event wrapper header/footer Arturo Borrero Gonzalez
2014-08-25 14:12   ` Pablo Neira Ayuso
2014-08-25 14:09 ` [libnftnl PATCH 1/2] utils: ensure \0 is in place in nft_fprintf() Pablo Neira Ayuso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).