forked from aniani/vim
patch 9.0.1143: invalid memory access with bad 'statusline' value
Problem: Invalid memory access with bad 'statusline' value. Solution: Avoid going over the NUL at the end.
This commit is contained in:
@@ -4617,6 +4617,8 @@ build_stl_str_hl(
|
||||
#endif
|
||||
if (vim_strchr(STL_ALL, *s) == NULL)
|
||||
{
|
||||
if (*s == NUL) // can happen with "%0"
|
||||
break;
|
||||
s++;
|
||||
continue;
|
||||
}
|
||||
|
@@ -440,6 +440,13 @@ func Test_statusline()
|
||||
set splitbelow&
|
||||
endfunc
|
||||
|
||||
func Test_statusline_trailing_percent_zero()
|
||||
" this was causing illegal memory access
|
||||
set laststatus=2 stl=%!%0
|
||||
call assert_fails('redraw', 'E15: Invalid expression: "%0"')
|
||||
set laststatus& stl&
|
||||
endfunc
|
||||
|
||||
func Test_statusline_visual()
|
||||
func CallWordcount()
|
||||
call wordcount()
|
||||
|
@@ -695,6 +695,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1143,
|
||||
/**/
|
||||
1142,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user