Browse Source

sprintbuf(): test for all vsnprintf error values

The POSIX specification states that vsnprintf returns "a negative value"
in case of error, but the code checks explicitly only for -1.
tags/json-c-0.16-20220414
Tobias Stoeckmann 3 years ago
parent
commit
94b2a0cb29
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      printbuf.c

+ 1
- 1
printbuf.c View File

@@ -143,7 +143,7 @@ int sprintbuf(struct printbuf *p, const char *msg, ...)
* if output is truncated whereas some return the number of bytes that * if output is truncated whereas some return the number of bytes that
* would have been written - this code handles both cases. * would have been written - this code handles both cases.
*/ */
if (size == -1 || size > 127)
if (size < 0 || size > 127)
{ {
va_start(ap, msg); va_start(ap, msg);
if ((size = vasprintf(&t, msg, ap)) < 0) if ((size = vasprintf(&t, msg, ap)) < 0)


Loading…
Cancel
Save