Patch 8.1.1296
Problem: Crash when using invalid command line argument.
Solution: Check for options not being initialized.
Files: src/term.c, src/testdir/test_startup.vim
*** ../vim-8.1.1295/src/term.c 2019-05-04 16:58:41.613537362 +0200
--- src/term.c 2019-05-08 16:36:20.371184451 +0200
***************
*** 3014,3026 ****
void
term_push_title(int which)
{
! if ((which & SAVE_RESTORE_TITLE) && *T_CST != NUL)
{
OUT_STR(T_CST);
out_flush();
}
! if ((which & SAVE_RESTORE_ICON) && *T_SSI != NUL)
{
OUT_STR(T_SSI);
out_flush();
--- 3014,3026 ----
void
term_push_title(int which)
{
! if ((which & SAVE_RESTORE_TITLE) && T_CST != NULL && *T_CST != NUL)
{
OUT_STR(T_CST);
out_flush();
}
! if ((which & SAVE_RESTORE_ICON) && T_SSI != NULL && *T_SSI != NUL)
{
OUT_STR(T_SSI);
out_flush();
***************
*** 3033,3045 ****
void
term_pop_title(int which)
{
! if ((which & SAVE_RESTORE_TITLE) && *T_CRT != NUL)
{
OUT_STR(T_CRT);
out_flush();
}
! if ((which & SAVE_RESTORE_ICON) && *T_SRI != NUL)
{
OUT_STR(T_SRI);
out_flush();
--- 3033,3045 ----
void
term_pop_title(int which)
{
! if ((which & SAVE_RESTORE_TITLE) && T_CRT != NULL && *T_CRT != NUL)
{
OUT_STR(T_CRT);
out_flush();
}
! if ((which & SAVE_RESTORE_ICON) && T_SRI != NULL && *T_SRI != NUL)
{
OUT_STR(T_SRI);
out_flush();
*** ../vim-8.1.1295/src/testdir/test_startup.vim 2019-05-07
22:10:47.082118240 +0200
--- src/testdir/test_startup.vim 2019-05-08 16:39:13.558191165 +0200
***************
*** 408,419 ****
endfor
if has('clientserver')
- " FIXME: need to add --servername to this list
- " but it causes vim-8.1.1282 to crash!
for opt in ['--remote', '--remote-send', '--remote-silent',
'--remote-expr',
\ '--remote-tab', '--remote-tab-wait',
\ '--remote-tab-wait-silent', '--remote-tab-silent',
\ '--remote-wait', '--remote-wait-silent',
\ ]
let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
call assert_equal(1, v:shell_error)
--- 408,418 ----
endfor
if has('clientserver')
for opt in ['--remote', '--remote-send', '--remote-silent',
'--remote-expr',
\ '--remote-tab', '--remote-tab-wait',
\ '--remote-tab-wait-silent', '--remote-tab-silent',
\ '--remote-wait', '--remote-wait-silent',
+ \ '--servername',
\ ]
let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
call assert_equal(1, v:shell_error)
***************
*** 423,436 ****
endfor
endif
! " FIXME: commented out as this causes vim-8.1.1282 to crash!
! "if has('clipboard')
! " let out = split(system(GetVimCommand() .. ' --display'), "\n")
! " call assert_equal(1, v:shell_error)
! " call assert_match('^VIM - Vi IMproved .* (.*)$', out[0])
! " call assert_equal('Argument missing after: "--display"', out[1])
! " call assert_equal('More info with: "vim -h"', out[2])
! "endif
let out = split(system(GetVimCommand() .. ' -ix'), "\n")
call assert_equal(1, v:shell_error)
--- 422,434 ----
endfor
endif
! if has('clipboard')
! let out = split(system(GetVimCommand() .. ' --display'), "\n")
! call assert_equal(1, v:shell_error)
! call assert_match('^VIM - Vi IMproved .* (.*)$', out[0])
! call assert_equal('Argument missing after: "--display"', out[1])
! call assert_equal('More info with: "vim -h"', out[2])
! endif
let out = split(system(GetVimCommand() .. ' -ix'), "\n")
call assert_equal(1, v:shell_error)
***************
*** 463,478 ****
call assert_equal('More info with: "vim -h"',
out[2])
endfor
! " FIXME: commented out as this causes vim-8.1.1282 to crash!
! "if has('gui_gtk')
! " for opt in ['--socketid x', '--socketid 0xg']
! " let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
! " call assert_equal(1, v:shell_error)
! " call assert_match('^VIM - Vi IMproved .* (.*)$', out[0])
! " call assert_equal('Invalid argument for: "--socketid"', out[1])
! " call assert_equal('More info with: "vim -h"', out[2])
! " endfor
! "endif
endfunc
func Test_file_args()
--- 461,475 ----
call assert_equal('More info with: "vim -h"',
out[2])
endfor
! if has('gui_gtk')
! for opt in ['--socketid x', '--socketid 0xg']
! let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
! call assert_equal(1, v:shell_error)
! call assert_match('^VIM - Vi IMproved .* (.*)$', out[0])
! call assert_equal('Invalid argument for: "--socketid"', out[1])
! call assert_equal('More info with: "vim -h"', out[2])
! endfor
! endif
endfunc
func Test_file_args()
*** ../vim-8.1.1295/src/version.c 2019-05-07 23:01:34.241209371 +0200
--- src/version.c 2019-05-08 16:37:45.622695748 +0200
***************
*** 769,770 ****
--- 769,772 ----
{ /* Add new patch number below this line */
+ /**/
+ 1296,
/**/
--
"Software is like sex... it's better when it's free."
-- Linus Torvalds, initiator of the free Linux OS
Makes me wonder what FSF stands for...?
/// Bram Moolenaar -- [email protected] -- 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 ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/201905081442.x48EgXJM017884%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.