Merge branch 'mk/mingw-winansi-ttyname-termination-fix'
authorJunio C Hamano <gitster@pobox.com>
Tue, 27 Dec 2016 08:11:44 +0000 (00:11 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Dec 2016 08:11:44 +0000 (00:11 -0800)
A potential but unlikely buffer overflow in Windows port has been
fixed.

* mk/mingw-winansi-ttyname-termination-fix:
mingw: consider that UNICODE_STRING::Length counts bytes

compat/winansi.c
index cb725fb02f6e4f48c4f314c3c6c5e8535aa6eda8..97d84a96ededd9446ad409db2a410f9a03879e9b 100644 (file)
@@ -556,7 +556,7 @@ static void detect_msys_tty(int fd)
                        buffer, sizeof(buffer) - 2, &result)))
                return;
        name = nameinfo->Name.Buffer;
-       name[nameinfo->Name.Length] = 0;
+       name[nameinfo->Name.Length / sizeof(*name)] = 0;
 
        /* check if this could be a MSYS2 pty pipe ('msys-XXXX-ptyN-XX') */
        if (!wcsstr(name, L"msys-") || !wcsstr(name, L"-pty"))