From fcc3f46735b8c47fde0961228ca1fdd20cb709a0 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 24 Jan 2014 19:55:37 +0100 Subject: [PATCH] updated for version 7.4.160 Problem: Win32: Crash when executing external command. Solution: Only close the handle when it was created. (Yasuhiro Matsumoto) --- src/os_win32.c | 5 +++-- src/version.c | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) 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, /**/ -- 2.50.1