patch 9.0.1444: crash when passing NULL to setcmdline()
Problem: Crash when passing NULL to setcmdline(). (Andreas Louv)
Solution: Use tv_get_string() instead of using v_string directly.
(closes #12231, closes #12227)
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index ddcb260..8b47d86 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -3393,6 +3393,14 @@
func Test_setcmdline()
func SetText(text, pos)
+ call assert_equal(0, setcmdline(test_null_string()))
+ call assert_equal('', getcmdline())
+ call assert_equal(1, getcmdpos())
+
+ call assert_equal(0, setcmdline(''[: -1]))
+ call assert_equal('', getcmdline())
+ call assert_equal(1, getcmdpos())
+
autocmd CmdlineChanged * let g:cmdtype = expand('<afile>')
call assert_equal(0, setcmdline(a:text))
call assert_equal(a:text, getcmdline())