From 35e32c2a7176c6add799440b642cef3fa6a70045 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 24 Feb 2021 13:41:42 +0100 Subject: readlink(): do `NUL`-terminate the result Otherwise we're provoking buffer overruns. Signed-off-by: Johannes Schindelin --- win32/mingw.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/win32/mingw.c b/win32/mingw.c index 2e9a53393..e8152c87e 100644 --- a/win32/mingw.c +++ b/win32/mingw.c @@ -1238,9 +1238,10 @@ ssize_t readlink(const char *pathname, char *buf, size_t bufsiz) name[len] = 0; name = normalize_ntpath(name); len = wcslen(name); - if (len > bufsiz) - len = bufsiz; + if (len >= bufsiz) + len = bufsiz - 1; if (WideCharToMultiByte(CP_ACP, 0, name, len, buf, bufsiz, 0, 0)) { + buf[len] = '\0'; return len; } } -- cgit v1.2.3-55-g6feb