Mercurial > vim
changeset 12700:306a7a357c71 v8.0.1228
patch 8.0.1228: invalid memory access in GUI test
commit https://github.com/vim/vim/commit/0e19fc07e73214f94441cb3a495504a1de21eb07
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 28 14:45:16 2017 +0200
patch 8.0.1228: invalid memory access in GUI test
Problem: Invalid memory access in GUI test.
Solution: Check that the row is not outside of the screen.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 28 Oct 2017 15:00:05 +0200 |
parents | fe12aeafe2b3 |
children | 61b0d9161417 |
files | src/screen.c src/version.c |
diffstat | 2 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/screen.c +++ b/src/screen.c @@ -2123,7 +2123,11 @@ win_update(win_T *wp) wp->w_lines[idx].wl_lnum = lnum; wp->w_lines[idx].wl_valid = TRUE; - if (row > wp->w_height) /* past end of screen */ + + /* Past end of the window or end of the screen. Note that after + * resizing wp->w_height may be end up too big. That's a problem + * elsewhere, but prevent a crash here. */ + if (row > wp->w_height || row + wp->w_winrow >= Rows) { /* we may need the size of that too long line later on */ if (dollar_vcol == -1)