* [bug#42680] [PATCH] gnu: emacs: Ignore empty XIM styles.
@ 2020-08-02 18:46 ` Leo Prikler
2020-08-03 7:21 ` Mathieu Othacehe
2020-08-03 14:51 ` [bug#42680] Fwd: Re: bug#42694: 26.3; Emacs crashes when linked against newer libx11 Leo Prikler
0 siblings, 2 replies; 5+ messages in thread
From: Leo Prikler @ 2020-08-02 18:46 UTC (permalink / raw)
To: 42680
As of libx11 version 1.6.10, xim may be NULL, which causes a segmentation
fault in the execution of ARRAYELTS. As a cautionary measure, we
short-circuit this logic.
* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: New file.
* gnu/packages/emacs.scm (emacs emacs-next)[patches]: Use it.
* gnu/local.mk: Register it.
---
gnu/local.mk | 1 +
gnu/packages/emacs.scm | 2 ++
.../emacs-ignore-empty-xim-styles.patch | 21 +++++++++++++++++++
3 files changed, 24 insertions(+)
create mode 100644 gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 9d295267a8..0144965827 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -917,6 +917,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
+ %D%/packages/patches/emacs-ignore-empty-xim-styles.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 8fe5750791..ad8d4b0606 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -85,6 +85,7 @@
"119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))
(patches (search-patches "emacs-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
+ "emacs-ignore-empty-xim-styles.patch"
"emacs-source-date-epoch.patch"))
(modules '((guix build utils)))
(snippet
@@ -261,6 +262,7 @@ languages.")
(file-name (git-file-name name version))
(patches (search-patches "emacs27-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
+ "emacs-ignore-empty-xim-styles.patch"
"emacs-source-date-epoch.patch"))
(modules (origin-modules (package-source emacs)))
;; TODO: once the snippet for `emacs' is changed to not fail when
diff --git a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch b/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
new file mode 100644
index 0000000000..936b7a81f7
--- /dev/null
+++ b/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
@@ -0,0 +1,21 @@
+Index: emacs-26.3/src/xfns.c
+===================================================================
+--- emacs-26.3.orig/src/xfns.c
++++ emacs-26.3/src/xfns.c
+@@ -2533,6 +2533,8 @@ xic_free_xfontset (struct frame *f)
+ static XIMStyle
+ best_xim_style (XIMStyles *xim)
+ {
++ if (xim == NULL) goto out;
++
+ int i, j;
+ int nr_supported = ARRAYELTS (supported_xim_styles);
+
+@@ -2541,6 +2543,7 @@ best_xim_style (XIMStyles *xim)
+ if (supported_xim_styles[i] == xim->supported_styles[j])
+ return supported_xim_styles[i];
+
++ out:
+ /* Return the default style. */
+ return XIMPreeditNothing | XIMStatusNothing;
+ }
--
2.28.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#42680] [PATCH] gnu: emacs: Ignore empty XIM styles.
2020-08-02 18:46 ` [bug#42680] [PATCH] gnu: emacs: Ignore empty XIM styles Leo Prikler
@ 2020-08-03 7:21 ` Mathieu Othacehe
2020-08-03 9:35 ` Leo Prikler
2020-08-03 14:51 ` [bug#42680] Fwd: Re: bug#42694: 26.3; Emacs crashes when linked against newer libx11 Leo Prikler
1 sibling, 1 reply; 5+ messages in thread
From: Mathieu Othacehe @ 2020-08-03 7:21 UTC (permalink / raw)
To: Leo Prikler; +Cc: 42680
Hey Leo,
> "emacs-fix-scheme-indent-function.patch"
> + "emacs-ignore-empty-xim-styles.patch"
> "emacs-source-date-epoch.patch"))
This patch looks fine, thanks! Did you report this issue upstream?
Mathieu
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#42680] [PATCH] gnu: emacs: Ignore empty XIM styles.
2020-08-03 7:21 ` Mathieu Othacehe
@ 2020-08-03 9:35 ` Leo Prikler
2020-08-03 10:40 ` bug#42680: " Mathieu Othacehe
0 siblings, 1 reply; 5+ messages in thread
From: Leo Prikler @ 2020-08-03 9:35 UTC (permalink / raw)
To: Mathieu Othacehe; +Cc: 42680
Am Montag, den 03.08.2020, 09:21 +0200 schrieb Mathieu Othacehe:
> Hey Leo,
>
> > "emacs-fix-scheme-indent-
> > function.patch"
> > + "emacs-ignore-empty-xim-
> > styles.patch"
> > "emacs-source-date-
> > epoch.patch"))
>
> This patch looks fine, thanks! Did you report this issue upstream?
>
> Mathieu
I have now, it's #42694.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#42680: [PATCH] gnu: emacs: Ignore empty XIM styles.
2020-08-03 9:35 ` Leo Prikler
@ 2020-08-03 10:40 ` Mathieu Othacehe
0 siblings, 0 replies; 5+ messages in thread
From: Mathieu Othacehe @ 2020-08-03 10:40 UTC (permalink / raw)
To: Leo Prikler; +Cc: 42680-done
>> This patch looks fine, thanks! Did you report this issue upstream?
>>
>> Mathieu
> I have now, it's #42694.
Great, patch pushed with a reference to the proposed fix.
Thanks,
Mathieu
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#42680] Fwd: Re: bug#42694: 26.3; Emacs crashes when linked against newer libx11
2020-08-02 18:46 ` [bug#42680] [PATCH] gnu: emacs: Ignore empty XIM styles Leo Prikler
2020-08-03 7:21 ` Mathieu Othacehe
@ 2020-08-03 14:51 ` Leo Prikler
1 sibling, 0 replies; 5+ messages in thread
From: Leo Prikler @ 2020-08-03 14:51 UTC (permalink / raw)
To: 42680
[-- Attachment #1: Type: text/plain, Size: 95 bytes --]
It turns out, that this bug got fixed upstream independently using a
slightly different patch.
[-- Attachment #2: Weitergeleitete Nachricht – Re: bug#42694: 26.3; Emacs crashes when linked against newer libx11 --]
[-- Type: message/rfc822, Size: 3680 bytes --]
From: Eli Zaretskii <eliz@gnu.org>
To: Leo Prikler <leo.prikler@student.tugraz.at>
Cc: 42694@debbugs.gnu.org
Subject: Re: bug#42694: 26.3; Emacs crashes when linked against newer libx11
Date: Mon, 03 Aug 2020 17:40:41 +0300
Message-ID: <837dufbxna.fsf@gnu.org>
> From: Leo Prikler <leo.prikler@student.tugraz.at>
> Date: Mon, 03 Aug 2020 11:31:49 +0200
>
> Two days ago, a patch was sent to Guix updating libx11 to a newer
> version in order to fix CVE-2020-14344. This causes a segmentation
> fault in Emacs when trying to start an X window. After invoking GDB, I
> found the offending line to be:
>
> /* Determine XIC style */
> xic_style = best_xim_style (FRAME_X_XIM_STYLES (f));
>
> For some reason, FRAME_X_XIM_STYLES (f) returns NULL here and
> best_xim_style fails when ARRAYELTS is called on it. I've attached a
> patch, that checks for this case.
Thanks, this is bug#42676, which was solved yesterday.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-08-03 14:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <837dufbxna.fsf@gnu.org>
2020-08-02 18:46 ` [bug#42680] [PATCH] gnu: emacs: Ignore empty XIM styles Leo Prikler
2020-08-03 7:21 ` Mathieu Othacehe
2020-08-03 9:35 ` Leo Prikler
2020-08-03 10:40 ` bug#42680: " Mathieu Othacehe
2020-08-03 14:51 ` [bug#42680] Fwd: Re: bug#42694: 26.3; Emacs crashes when linked against newer libx11 Leo Prikler
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).