From: Po Lu Date: Thu, 17 Feb 2022 07:35:41 +0000 (+0800) Subject: Prevent crashes caused by invalid locale coding systems X-Git-Tag: emacs-28.0.92~44 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b30ef0991915fbcab016a9485b1dece6f15f801c;p=emacs.git Prevent crashes caused by invalid locale coding systems * src/xterm.c (handle_one_xevent): Prevent a signal inside `setup_coding_system' which crashes recent versions of GLib if the locale coding system is invalid. Do not merge to master. --- diff --git a/src/xterm.c b/src/xterm.c index b80d45f8552..59413eafd48 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -8739,6 +8739,15 @@ handle_one_xevent (struct x_display_info *dpyinfo, { /* Decode the input data. */ +#ifdef HAVE_GLIB + /* If this isn't done in a build with GLib (usually + with GTK), then the resulting signal in + `setup_coding_system' will cause Emacs to + crash. */ + if (NILP (Fcoding_system_p (coding_system))) + coding_system = Qraw_text; +#endif + /* The input should be decoded with `coding_system' which depends on which X*LookupString function we used just above and the locale. */