To: vim_dev@googlegroups.com Subject: Patch 8.2.0029 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0029 Problem: MS-Windows: crash with empty job command. Solution: Check for NULL result. (Yasuhiro Matsumoto, closes #5390) Files: src/channel.c, src/testdir/test_channel.vim *** ../vim-8.2.0028/src/channel.c 2019-11-30 20:46:46.000000000 +0100 --- src/channel.c 2019-12-21 22:19:40.048698371 +0100 *************** *** 5947,5952 **** --- 5947,5957 ---- if (win32_build_cmd(l, &ga) == FAIL) goto theend; cmd = ga.ga_data; + if (cmd == NULL) + { + emsg(_(e_invarg)); + goto theend; + } #endif } *** ../vim-8.2.0028/src/testdir/test_channel.vim 2019-12-07 17:09:24.000000000 +0100 --- src/testdir/test_channel.vim 2019-12-21 22:17:28.745122184 +0100 *************** *** 1331,1344 **** 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 --- 1331,1342 ---- *************** *** 1360,1366 **** 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 --- 1358,1363 ---- *************** *** 1384,1390 **** endfunc func Test_call() - call ch_log('Test_call()') call s:run_server('Ch_test_call') endfunc --- 1381,1386 ---- *************** *** 1473,1479 **** endfunc func Test_close_callback() - call ch_log('Test_close_callback()') call s:run_server('Ch_test_close_callback') endfunc --- 1469,1474 ---- *************** *** 1495,1501 **** endfunc func Test_close_partial() - call ch_log('Test_close_partial()') call s:run_server('Ch_test_close_partial') endfunc --- 1490,1495 ---- *************** *** 1712,1718 **** endfunc func Test_close_lambda() - call ch_log('Test_close_lambda()') call s:run_server('Ch_test_close_lambda') endfunc --- 1706,1711 ---- *************** *** 1965,1970 **** --- 1958,1969 ---- 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') *** ../vim-8.2.0028/src/version.c 2019-12-21 22:00:46.300138235 +0100 --- src/version.c 2019-12-21 22:19:06.664806417 +0100 *************** *** 744,745 **** --- 744,747 ---- { /* Add new patch number below this line */ + /**/ + 29, /**/ -- Not too long ago, compress was something you did to garbage... /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///