summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArturo Borrero <arturo.borrero.glez@gmail.com>2014-09-12 21:41:25 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-09-16 19:04:06 +0200
commit24cfc59f1c3a2108c8a5eb41e898d60b196aee9b (patch)
tree136b073fd8d57e12e85c20442653c657bb3ac54b
parent9c3cacb743d789bcac0f9ac8f40190741b9ae8eb (diff)
utils: nft_fprintf: prevent an empty buffer from being printed
If the snprintf_cb() printed 0 characters, no \0 exists in the buffer. Also, in that case fprintf() is meant to print nothing, so we can just exit. This patch addresses new cases of textual output by libnftnl with trash. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/utils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/utils.c b/src/utils.c
index 96c8bf2..d70fbf1 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -190,7 +190,7 @@ int nft_fprintf(FILE *fp, void *obj, uint32_t type, uint32_t flags,
int ret;
ret = snprintf_cb(buf, bufsiz, obj, type, flags);
- if (ret < 0)
+ if (ret <= 0)
goto out;
if (ret >= NFT_SNPRINTF_BUFSIZ) {
@@ -201,7 +201,7 @@ int nft_fprintf(FILE *fp, void *obj, uint32_t type, uint32_t flags,
return -1;
ret = snprintf_cb(buf, bufsiz, obj, type, flags);
- if (ret < 0)
+ if (ret <= 0)
goto out;
}