patch 8.2.0189: cd() with NULL argument crashes
Problem: cd() with NULL argument crashes.
Solution: Check for NULL. (Ken Takata, closes #5558)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 6df6975..80cc930 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -6572,7 +6572,7 @@
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)
diff --git a/src/testdir/test_cd.vim b/src/testdir/test_cd.vim
index 05d3877..e44b25f 100644
--- a/src/testdir/test_cd.vim
+++ b/src/testdir/test_cd.vim
@@ -101,6 +101,8 @@
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)
diff --git a/src/version.c b/src/version.c
index 9a3d42f..5f090c3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 189,
+/**/
188,
/**/
187,