X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=compat%2Fsnprintf.c;h=357e733074ea7c85f880fa577ad65dfb3787fec7;hb=c841aa8b903200f5d7830c7c4ab8d62b5ef44c5c;hp=580966e56a3455b9970b7eef33143c1e9c57d41c;hpb=447d0cca45920bbe409361bb532444f810c75546;p=git.git diff --git a/compat/snprintf.c b/compat/snprintf.c index 580966e56..357e73307 100644 --- a/compat/snprintf.c +++ b/compat/snprintf.c @@ -17,6 +17,8 @@ int git_vsnprintf(char *str, size_t maxsize, const char *format, va_list ap) if (maxsize > 0) { ret = vsnprintf(str, maxsize-SNPRINTF_SIZE_CORR, format, ap); + if (ret == maxsize-1) + ret = -1; /* Windows does not NUL-terminate if result fills buffer */ str[maxsize-1] = 0; } @@ -34,6 +36,8 @@ int git_vsnprintf(char *str, size_t maxsize, const char *format, va_list ap) break; s = str; ret = vsnprintf(str, maxsize-SNPRINTF_SIZE_CORR, format, ap); + if (ret == maxsize-1) + ret = -1; } free(s); return ret;