# HG changeset patch # User Bram Moolenaar # Date 1568993403 -7200 # Node ID d683b2c82c00e4a9ff64f9599e18d1474d4e0201 # Parent 40c7235ea582fcaa2dbe8fe127a06f1b75a2d812 patch 8.1.2061: MS-Windows GUI: ":sh" crashes when trying to use a terminal Commit: https://github.com/vim/vim/commit/4d5c12626c98df23e1a5d953692d946310ddfa9c Author: Bram Moolenaar Date: Fri Sep 20 17:20:02 2019 +0200 patch 8.1.2061: MS-Windows GUI: ":sh" crashes when trying to use a terminal Problem: MS-Windows GUI: ":sh" crashes when trying to use a terminal. Solution: Check for a NULL command. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/4958) diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -4657,12 +4657,14 @@ mch_call_shell( { char_u *cmdbase = cmd; - // Skip a leading quote and (. - while (*cmdbase == '"' || *cmdbase == '(') - ++cmdbase; + if (cmdbase != NULL) + // Skip a leading quote and (. + while (*cmdbase == '"' || *cmdbase == '(') + ++cmdbase; // Check the command does not begin with "start " - if (STRNICMP(cmdbase, "start", 5) != 0 || !VIM_ISWHITE(cmdbase[5])) + if (cmdbase == NULL + || STRNICMP(cmdbase, "start", 5) != 0 || !VIM_ISWHITE(cmdbase[5])) { // Use a terminal window to run the command in. x = mch_call_shell_terminal(cmd, options); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2061, +/**/ 2060, /**/ 2059,