forked from aniani/vim
patch 9.0.1916: Crash when allocating large terminal screen
Problem: Crash when allocating large terminal screen
Solution: Don't allow values > 1000 for terminal
screen columns and rows
closes: #13126
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
@@ -64,6 +64,14 @@ func Test_terminal_termwinsize_option_zero()
|
||||
call StopShellInTerminal(buf)
|
||||
exe buf . 'bwipe'
|
||||
|
||||
" This used to crash Vim
|
||||
set termwinsize=10000*10000
|
||||
let buf = Run_shell_in_terminal({})
|
||||
let win = bufwinid(buf)
|
||||
call assert_equal([1000, 1000], term_getsize(buf))
|
||||
call StopShellInTerminal(buf)
|
||||
exe buf . 'bwipe'
|
||||
|
||||
set termwinsize=
|
||||
endfunc
|
||||
|
||||
@@ -271,6 +279,25 @@ func Test_terminal_resize()
|
||||
set statusline&
|
||||
endfunc
|
||||
|
||||
func Test_terminal_resize2()
|
||||
CheckNotMSWindows
|
||||
set statusline=x
|
||||
terminal
|
||||
call assert_equal(2, winnr('$'))
|
||||
let buf = bufnr()
|
||||
|
||||
" Wait for the shell to display a prompt
|
||||
call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))})
|
||||
|
||||
" This used to crash Vim
|
||||
call feedkeys("printf '\033[8;99999;99999t'\<CR>", 'xt')
|
||||
redraw
|
||||
|
||||
call feedkeys("exit\<CR>", 'xt')
|
||||
call TermWait(buf)
|
||||
set statusline&
|
||||
endfunc
|
||||
|
||||
" must be nearly the last, we can't go back from GUI to terminal
|
||||
func Test_zz1_terminal_in_gui()
|
||||
CheckCanRunGui
|
||||
|
||||
Reference in New Issue
Block a user