Mercurial > vim
diff src/screen.c @ 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 | 4e846c9d61a8 |
children | 339681756948 |
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)