summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/conntrack/api.c6
-rw-r--r--src/conntrack/snprintf.c3
-rw-r--r--src/expect/snprintf.c3
3 files changed, 9 insertions, 3 deletions
diff --git a/src/conntrack/api.c b/src/conntrack/api.c
index ffa5216..78d7d61 100644
--- a/src/conntrack/api.c
+++ b/src/conntrack/api.c
@@ -1099,9 +1099,9 @@ int nfct_catch(struct nfct_handle *h)
* print the message just after you receive the destroy event. If you want
* more accurate timestamping, use NFCT_OF_TIMESTAMP.
*
- * This function returns the size of the information that _would_ have been
- * written to the buffer, even if there was no room for it. Thus, the
- * behaviour is similar to snprintf.
+ * On error, -1 is returned and errno is set appropiately. Otherwise the
+ * size of what _would_ be written is returned, even if the size of the
+ * buffer is insufficient. This behaviour is similar to snprintf.
*/
int nfct_snprintf(char *buf,
unsigned int size,
diff --git a/src/conntrack/snprintf.c b/src/conntrack/snprintf.c
index 17ad885..eb26af4 100644
--- a/src/conntrack/snprintf.c
+++ b/src/conntrack/snprintf.c
@@ -85,6 +85,9 @@ int __snprintf_conntrack(char *buf,
return -1;
}
+ if (size < 0)
+ return size;
+
/* NULL terminated string */
buf[size+1 > len ? len-1 : size] = '\0';
diff --git a/src/expect/snprintf.c b/src/expect/snprintf.c
index 3a104b5..8c2f3e4 100644
--- a/src/expect/snprintf.c
+++ b/src/expect/snprintf.c
@@ -30,6 +30,9 @@ int __snprintf_expect(char *buf,
return -1;
}
+ if (size < 0)
+ return size;
+
/* NULL terminated string */
buf[size+1 > len ? len-1 : size] = '\0';