From 4ceb4cfc225585e28c7e4d4d27c7fdea4ab759c0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 22 Nov 2018 08:57:43 +0530 Subject: [PATCH] Fix a crash if the client program tries to restore more modes than it saves Fixes #1166 --- kitty/screen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kitty/screen.c b/kitty/screen.c index d34d0898d..a91f832e9 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -976,9 +976,9 @@ screen_restore_cursor(Screen *self) { void screen_restore_modes(Screen *self) { - ScreenModes *m; + const ScreenModes *m; buffer_pop(&self->modes_savepoints, m); - if (m == NULL) *m = empty_modes; + if (m == NULL) m = &empty_modes; #define S(name) set_mode_from_const(self, name, m->m##name) S(DECTCEM); S(DECSCNM); S(DECSCNM); S(DECOM); S(DECAWM); S(DECARM); S(DECCKM); S(BRACKETED_PASTE); S(FOCUS_TRACKING); S(EXTENDED_KEYBOARD);