mingw: consider that UNICODE_STRING::Length counts bytes
UNICODE_STRING::Length field means size of buffer in bytes[1], despite of buffer itself being array of wchar_t. Because of that terminating zero is placed twice as far. Fix it. [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa380518.aspx Signed-off-by: Max Kirillov <max@max630.net> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Max Kirillov committed
Dec 19, 2016 at 23:32 UTC
c46458e82f0112ed288bcf89bea973b859e1854e
1 file changed
+1
-1
compat/winansi.c
+1
-1
@@ -553,7 +553,7 @@ static void detect_msys_tty(int fd)
553
buffer, sizeof(buffer) - 2, &result)))
554
return;
555
name = nameinfo->Name.Buffer;
556
- name[nameinfo->Name.Length] = 0;
556
+ name[nameinfo->Name.Length / sizeof(*name)] = 0;
557
558
/* check if this could be a MSYS2 pty pipe ('msys-XXXX-ptyN-XX') */
559
if (!wcsstr(name, L"msys-") || !wcsstr(name, L"-pty"))