0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.3564: invalid memory access when scrolling without valid screen

Problem:    Invalid memory access when scrolling without a valid screen.
Solution:   Do not set VALID_BOTLINE in w_valid.
This commit is contained in:
Bram Moolenaar
2021-10-25 17:07:04 +01:00
parent 2a52196b78
commit 777e7c21b7
3 changed files with 21 additions and 4 deletions

View File

@@ -199,7 +199,6 @@ update_topline(void)
check_cursor_lnum();
curwin->w_topline = curwin->w_cursor.lnum;
curwin->w_botline = curwin->w_topline;
curwin->w_valid |= VALID_BOTLINE|VALID_BOTLINE_AP;
curwin->w_scbind_pos = 1;
return;
}

View File

@@ -987,6 +987,22 @@ func Test_vert_scroll_cmds()
close!
endfunc
func Test_scroll_in_ex_mode()
" This was using invalid memory because w_botline was invalid.
let lines =<< trim END
diffsplit
norm os00(
call writefile(['done'], 'Xdone')
qa!
END
call writefile(lines, 'Xscript')
call assert_equal(1, RunVim([], [], '--clean -X -Z -e -s -S Xscript'))
call assert_equal(['done'], readfile('Xdone'))
call delete('Xscript')
call delete('Xdone')
endfunc
" Test for the 'sidescroll' option
func Test_sidescroll_opt()
new

View File

@@ -757,6 +757,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
3564,
/**/
3563,
/**/