From: Arturo Borrero Date: Fri, 12 Sep 2014 19:41:25 +0000 (+0200) Subject: utils: nft_fprintf: prevent an empty buffer from being printed X-Git-Tag: libnftnl-1.0.3~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24cfc59f1c3a2108c8a5eb41e898d60b196aee9b;p=thirdparty%2Flibnftnl.git 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 Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/utils.c b/src/utils.c index 96c8bf22..d70fbf12 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; }