From 91b97a0f6a2f85316e9d8a6a468f06b8fd097ad3 Mon Sep 17 00:00:00 2001 From: arakiken Date: Sat, 29 Jul 2023 17:35:00 +0900 Subject: [PATCH] * ui_screen.c: convert_char_index_to_x() never returns minus value. --- ChangeLog | 4 ++++ uitoolkit/ui_screen.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 9d2418ad..fd5df3de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2023-07-29 Araki Ken + + * ui_screen.c: convert_char_index_to_x() never returns minus value. + 2023-06-11 Araki Ken * configure.in, README, README.ja: Additional information of diff --git a/uitoolkit/ui_screen.c b/uitoolkit/ui_screen.c index 40b351cf..0984586a 100644 --- a/uitoolkit/ui_screen.c +++ b/uitoolkit/ui_screen.c @@ -164,6 +164,11 @@ static int convert_char_index_to_x( x -= ui_calculate_vtchar_width(ui_get_font(screen->font_man, vt_char_font(ch)), ch, NULL); } } + + if (x < 0) { + /* XXX This causes screen corruption, but avoids segfault in fb, wayland and sdl2. */ + x = 0; + } } else { /* * excluding the last char width.