From: Bram Moolenaar Date: Fri, 24 Jan 2014 18:55:37 +0000 (+0100) Subject: updated for version 7.4.160 X-Git-Tag: v7.4.160 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fcc3f46735b8c47fde0961228ca1fdd20cb709a0;p=vim updated for version 7.4.160 Problem: Win32: Crash when executing external command. Solution: Only close the handle when it was created. (Yasuhiro Matsumoto) --- diff --git a/src/os_win32.c b/src/os_win32.c index e9ec5f7c0..844b70a97 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -4627,6 +4627,7 @@ mch_call_shell( DWORD flags = CREATE_NEW_CONSOLE; char_u *p; + ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); si.lpReserved = NULL; si.lpDesktop = NULL; @@ -4723,9 +4724,9 @@ mch_call_shell( if (newcmd != cmdbase) vim_free(newcmd); - if (si.hStdInput != NULL) + if (si.dwFlags == STARTF_USESTDHANDLES && si.hStdInput != NULL) { - /* Close the handle to \\.\NUL */ + /* Close the handle to \\.\NUL created above. */ CloseHandle(si.hStdInput); } /* Close the handles to the subprocess, so that it goes away */ diff --git a/src/version.c b/src/version.c index e8bfd9ae9..974c8f88f 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 160, /**/ 159, /**/