mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
patch 8.2.4214: illegal memory access with large 'tabstop' in Ex mode
Problem: Illegal memory access with large 'tabstop' in Ex mode. Solution: Allocate enough memory.
This commit is contained in:
@@ -1513,7 +1513,7 @@ init_ccline(int firstc, int indent)
|
||||
ccline.cmdindent = (firstc > 0 ? indent : 0);
|
||||
|
||||
// alloc initial ccline.cmdbuff
|
||||
alloc_cmdbuff(exmode_active ? 250 : indent + 1);
|
||||
alloc_cmdbuff(indent + 50);
|
||||
if (ccline.cmdbuff == NULL)
|
||||
return FAIL;
|
||||
ccline.cmdlen = ccline.cmdpos = 0;
|
||||
|
@@ -241,4 +241,14 @@ func Test_ex_mode_count_overflow()
|
||||
call delete('Xexmodescript')
|
||||
endfunc
|
||||
|
||||
func Test_ex_mode_large_indent()
|
||||
new
|
||||
set ts=500 ai
|
||||
call setline(1, "\t")
|
||||
exe "normal gQi\<CR>."
|
||||
set ts=8 noai
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
4214,
|
||||
/**/
|
||||
4213,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user