mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 9.0.0192: possible invalid memory access when 'cmdheight' is zero
Problem: Possible invalid memory access when 'cmdheight' is zero. (Martin Tournoij) Solution: Avoid going over the end of w_lines[] when w_height is Rows. (closes #10882)
This commit is contained in:
parent
d4cf9fc53e
commit
fdc5d17d58
@ -1808,9 +1808,13 @@ win_update(win_T *wp)
|
|||||||
|
|
||||||
// Move the entries that were scrolled, disable
|
// Move the entries that were scrolled, disable
|
||||||
// the entries for the lines to be redrawn.
|
// the entries for the lines to be redrawn.
|
||||||
|
// Avoid using a wrong index when 'cmdheight' is
|
||||||
|
// zero and wp->w_height == Rows.
|
||||||
if ((wp->w_lines_valid += j) > wp->w_height)
|
if ((wp->w_lines_valid += j) > wp->w_height)
|
||||||
wp->w_lines_valid = wp->w_height;
|
wp->w_lines_valid = wp->w_height;
|
||||||
for (idx = wp->w_lines_valid; idx - j >= 0; idx--)
|
for (idx = wp->w_lines_valid >= wp->w_height
|
||||||
|
? wp->w_height - 1 : wp->w_lines_valid;
|
||||||
|
idx - j >= 0; idx--)
|
||||||
wp->w_lines[idx] = wp->w_lines[idx - j];
|
wp->w_lines[idx] = wp->w_lines[idx - j];
|
||||||
while (idx >= 0)
|
while (idx >= 0)
|
||||||
wp->w_lines[idx--].wl_valid = FALSE;
|
wp->w_lines[idx--].wl_valid = FALSE;
|
||||||
|
@ -735,6 +735,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
192,
|
||||||
/**/
|
/**/
|
||||||
191,
|
191,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user