Fix typo/thinko in static buffer conversion; use vsnprintf() not snprintf()

This commit is contained in:
Todd C. Miller
2015-05-27 16:41:46 -06:00
parent dee7a6ddaf
commit 1100d91e8f

View File

@@ -157,12 +157,12 @@ warning(int errnum, const char *fmt, va_list ap)
/* Use static buffer if possible, else dynamic. */
va_copy(ap2, ap);
buflen = snprintf(static_buf, sizeof(static_buf), fmt, ap2);
buflen = vsnprintf(static_buf, sizeof(static_buf), fmt, ap2);
va_end(ap2);
if (buflen >= (int)sizeof(static_buf)) {
buf = malloc(++buflen);
if (buf != NULL)
(void)snprintf(buf, buflen, fmt, ap);
(void)vsnprintf(buf, buflen, fmt, ap);
else
buf = static_buf;
}