Mercurial > vim
changeset 29942:991bec040ce9 v9.0.0309
patch 9.0.0309: invalid memory access when cmdheight is zero
Commit: https://github.com/vim/vim/commit/7a99da43d14671cc91a302bcfa34d37a35eaa28d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 28 22:21:01 2022 +0100
patch 9.0.0309: invalid memory access when cmdheight is zero
Problem: Invalid memory access when cmdheight is zero.
Solution: Check index in w_lines is smaller than Rows.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 28 Aug 2022 23:30:03 +0200 |
parents | fb7ea094aeec |
children | 5cdf623f3836 |
files | src/drawscreen.c src/version.c |
diffstat | 2 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -830,6 +830,9 @@ after_updating_screen(int may_resize_she // handle the drop now. handle_any_postponed_drop(); #endif + + // in case it was changed in dont_use_message_window() + cmdline_row = Rows - p_ch; } /* @@ -2426,7 +2429,8 @@ win_update(win_T *wp) if (wp->w_lines_valid > wp->w_height) wp->w_lines_valid = wp->w_height; for (i = wp->w_lines_valid; i - j >= idx; --i) - wp->w_lines[i] = wp->w_lines[i - j]; + if (i < Rows) + wp->w_lines[i] = wp->w_lines[i - j]; // The w_lines[] entries for inserted lines are // now invalid, but wl_size may be used above.