From a3354664507365226f7ae2849488845b2e0f1149 Mon Sep 17 00:00:00 2001 From: christoph Date: Wed, 4 Feb 2015 18:23:38 +0100 Subject: [PATCH] Fix invalid write in dopr(...) Fix an invalid write in dopr(...) that occured when maxlen == 0 and buffer != 0 since 0-1 > 0 using size_t. --- src/snprintf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/snprintf.c b/src/snprintf.c index bd1cdc3..61b038b 100644 --- a/src/snprintf.c +++ b/src/snprintf.c @@ -397,7 +397,7 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args) break; /* some picky compilers need this */ } } - if (buffer != NULL) + if (buffer != NULL && maxlen > 0) { if (currlen < maxlen - 1) buffer[currlen] = '\0';