summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/channel.c5
-rw-r--r--src/testdir/test_channel.vim13
-rw-r--r--src/version.c2
3 files changed, 13 insertions, 7 deletions
diff --git a/src/channel.c b/src/channel.c
index 7edca1a19..aed234c3a 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -5947,6 +5947,11 @@ job_start(
if (win32_build_cmd(l, &ga) == FAIL)
goto theend;
cmd = ga.ga_data;
+ if (cmd == NULL)
+ {
+ emsg(_(e_invarg));
+ goto theend;
+ }
#endif
}
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 17cdb7cac..24a7ae454 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1331,14 +1331,12 @@ func Ch_close_handle(port)
endfunc
func Test_close_handle()
- call ch_log('Test_close_handle()')
call s:run_server('Ch_close_handle')
endfunc
""""""""""
func Test_open_fail()
- call ch_log('Test_open_fail()')
silent! let ch = ch_open("noserver")
echo ch
let d = ch
@@ -1360,7 +1358,6 @@ func Ch_open_delay(port)
endfunc
func Test_open_delay()
- call ch_log('Test_open_delay()')
" The server will wait half a second before creating the port.
call s:run_server('Ch_open_delay', 'delay')
endfunc
@@ -1384,7 +1381,6 @@ function Ch_test_call(port)
endfunc
func Test_call()
- call ch_log('Test_call()')
call s:run_server('Ch_test_call')
endfunc
@@ -1473,7 +1469,6 @@ function Ch_test_close_callback(port)
endfunc
func Test_close_callback()
- call ch_log('Test_close_callback()')
call s:run_server('Ch_test_close_callback')
endfunc
@@ -1495,7 +1490,6 @@ function Ch_test_close_partial(port)
endfunc
func Test_close_partial()
- call ch_log('Test_close_partial()')
call s:run_server('Ch_test_close_partial')
endfunc
@@ -1712,7 +1706,6 @@ function Ch_test_close_lambda(port)
endfunc
func Test_close_lambda()
- call ch_log('Test_close_lambda()')
call s:run_server('Ch_test_close_lambda')
endfunc
@@ -1965,6 +1958,12 @@ func Test_zz_nl_err_to_out_pipe()
endtry
endfunc
+func Test_empty_job()
+ " This was crashing on MS-Windows.
+ let job = job_start([""])
+ call WaitForAssert({-> assert_equal("dead", job_status(job))})
+endfunc
+
" Do this last, it stops any channel log.
func Test_zz_ch_log()
call ch_logfile('Xlog', 'w')
diff --git a/src/version.c b/src/version.c
index ec5c7b49c..7d9b3db90 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 29,
+/**/
28,
/**/
27,