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
|
#endif
|
||||||
if (vim_strchr(STL_ALL, *s) == NULL)
|
if (vim_strchr(STL_ALL, *s) == NULL)
|
||||||
{
|
{
|
||||||
|
if (*s == NUL) // can happen with "%0"
|
||||||
|
break;
|
||||||
s++;
|
s++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@@ -440,6 +440,13 @@ func Test_statusline()
|
|||||||
set splitbelow&
|
set splitbelow&
|
||||||
endfunc
|
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 Test_statusline_visual()
|
||||||
func CallWordcount()
|
func CallWordcount()
|
||||||
call wordcount()
|
call wordcount()
|
||||||
|
@@ -695,6 +695,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 */
|
||||||
|
/**/
|
||||||
|
1143,
|
||||||
/**/
|
/**/
|
||||||
1142,
|
1142,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user