]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.0189: cd() with NULL argument crashes v8.2.0189
authorBram Moolenaar <Bram@vim.org>
Fri, 31 Jan 2020 21:41:38 +0000 (22:41 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 31 Jan 2020 21:41:38 +0000 (22:41 +0100)
Problem:    cd() with NULL argument crashes.
Solution:   Check for NULL. (Ken Takata, closes #5558)

src/ex_docmd.c
src/testdir/test_cd.vim
src/version.c

index 6df6975ea137ab149ebd96e5e27065d971c155be..80cc9307c07a81813b5ea23459381f57a4c2b7fd 100644 (file)
@@ -6572,7 +6572,7 @@ changedir_func(
     int                dir_differs;
     int                retval = FALSE;
 
-    if (allbuf_locked())
+    if (new_dir == NULL || allbuf_locked())
        return FALSE;
 
     if (vim_strchr(p_cpo, CPO_CHDIR) != NULL && curbufIsChanged() && !forceit)
index 05d3877c7024d3c498a570327d9b88251321c743..e44b25f0faa454a833f24209a61f0fa0dcc375f9 100644 (file)
@@ -101,6 +101,8 @@ func Test_chdir_func()
   call assert_fails("call chdir('dir-abcd')", 'E472:')
   silent! let d = chdir("dir_abcd")
   call assert_equal("", d)
+  " Should not crash
+  call chdir(d)
 
   only | tabonly
   call chdir(topdir)
index 9a3d42f0b95972b7809e9a76f991ef1d53e09bb1..5f090c332c2dd8f98a81ccd6894c02578db7e2bb 100644 (file)
@@ -742,6 +742,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    189,
 /**/
     188,
 /**/