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);
|
ccline.cmdindent = (firstc > 0 ? indent : 0);
|
||||||
|
|
||||||
// alloc initial ccline.cmdbuff
|
// alloc initial ccline.cmdbuff
|
||||||
alloc_cmdbuff(exmode_active ? 250 : indent + 1);
|
alloc_cmdbuff(indent + 50);
|
||||||
if (ccline.cmdbuff == NULL)
|
if (ccline.cmdbuff == NULL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
ccline.cmdlen = ccline.cmdpos = 0;
|
ccline.cmdlen = ccline.cmdpos = 0;
|
||||||
|
@@ -241,4 +241,14 @@ func Test_ex_mode_count_overflow()
|
|||||||
call delete('Xexmodescript')
|
call delete('Xexmodescript')
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4214,
|
||||||
/**/
|
/**/
|
||||||
4213,
|
4213,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user