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)