mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
patch 8.1.1296: crash when using invalid command line argument
Problem: Crash when using invalid command line argument. Solution: Check for options not being initialized.
This commit is contained in:
@ -3014,13 +3014,13 @@ term_settitle(char_u *title)
|
||||
void
|
||||
term_push_title(int which)
|
||||
{
|
||||
if ((which & SAVE_RESTORE_TITLE) && *T_CST != NUL)
|
||||
if ((which & SAVE_RESTORE_TITLE) && T_CST != NULL && *T_CST != NUL)
|
||||
{
|
||||
OUT_STR(T_CST);
|
||||
out_flush();
|
||||
}
|
||||
|
||||
if ((which & SAVE_RESTORE_ICON) && *T_SSI != NUL)
|
||||
if ((which & SAVE_RESTORE_ICON) && T_SSI != NULL && *T_SSI != NUL)
|
||||
{
|
||||
OUT_STR(T_SSI);
|
||||
out_flush();
|
||||
@ -3033,13 +3033,13 @@ term_push_title(int which)
|
||||
void
|
||||
term_pop_title(int which)
|
||||
{
|
||||
if ((which & SAVE_RESTORE_TITLE) && *T_CRT != NUL)
|
||||
if ((which & SAVE_RESTORE_TITLE) && T_CRT != NULL && *T_CRT != NUL)
|
||||
{
|
||||
OUT_STR(T_CRT);
|
||||
out_flush();
|
||||
}
|
||||
|
||||
if ((which & SAVE_RESTORE_ICON) && *T_SRI != NUL)
|
||||
if ((which & SAVE_RESTORE_ICON) && T_SRI != NULL && *T_SRI != NUL)
|
||||
{
|
||||
OUT_STR(T_SRI);
|
||||
out_flush();
|
||||
|
@ -408,12 +408,11 @@ func Test_invalid_args()
|
||||
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',
|
||||
\ '--servername',
|
||||
\ ]
|
||||
let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
|
||||
call assert_equal(1, v:shell_error)
|
||||
@ -423,14 +422,13 @@ func Test_invalid_args()
|
||||
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
|
||||
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,16 +461,15 @@ func Test_invalid_args()
|
||||
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
|
||||
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()
|
||||
|
@ -767,6 +767,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1296,
|
||||
/**/
|
||||
1295,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user