From 9d1bed5eccdbb46a26b8a484f5e9163c40e63919 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Mon, 20 Jan 2025 22:55:57 +0100 Subject: [PATCH] patch 9.1.1043: [security]: segfault in win_line() Problem: [security]: segfault in win_line() (fizz-is-on-the-way) Solution: Check that ScreenLines is not NULL Github Advisory: https://github.com/vim/vim/security/advisories/GHSA-j3g9-wg22-v955 Signed-off-by: Christian Brabandt --- src/gui.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui.c b/src/gui.c index 8e7b079a5a4ea4..86c40de632aa1e 100644 --- a/src/gui.c +++ b/src/gui.c @@ -4471,13 +4471,15 @@ gui_do_scroll(void) /* * Don't call updateWindow() when nothing has changed (it will overwrite * the status line!). + * + * Check for ScreenLines, because in ex-mode, we don't have a valid display. */ - if (old_topline != wp->w_topline + if (ScreenLines != NULL && (old_topline != wp->w_topline || wp->w_redr_type != 0 #ifdef FEAT_DIFF || old_topfill != wp->w_topfill #endif - ) + )) { int type = UPD_VALID; -- 2.43.0