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)
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1228,
+/**/
     1227,
 /**/
     1226,