X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=compat%2Fsnprintf.c;h=357e733074ea7c85f880fa577ad65dfb3787fec7;hb=363cfc1716c9192053aaceb7e61e6a3af5699ddd;hp=580966e56a3455b9970b7eef33143c1e9c57d41c;hpb=ac39efbdf3d41443c40166b7578b7fb87c2f3b60;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;