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:
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -757,6 +757,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3564,
|
||||
/**/
|
||||
3563,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user