diff options
Diffstat (limited to 'source/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch')
-rw-r--r-- | source/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/source/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch b/source/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch new file mode 100644 index 00000000..8db50475 --- /dev/null +++ b/source/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch @@ -0,0 +1,33 @@ +From f596f888a2b6e6598b9d0e4f0200b60e7f9eef64 Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio <shawn@anastas.io> +Date: Sun, 6 Sep 2020 19:33:12 +0000 +Subject: [PATCH] Catch gs_listener_dbus_init failures + +In cases where the dbus connection fails, gs_listener_dbus_init +will fail and return FALSE. Previously, this status code was not +checked in the gs_listener constructor, resulting in a silent failure +that eventually resulted in a Segmentation Fault when the listener's +system_connection pointer gets used. + +Add a g_assert to ensure gs_listener_dbus_init succeeds, or bail out +gracefully on failures. +--- + src/gs-listener-dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c +index 6307324..7aebe00 100644 +--- a/src/gs-listener-dbus.c ++++ b/src/gs-listener-dbus.c +@@ -2196,7 +2196,7 @@ gs_listener_init (GSListener *listener) { + #endif + listener->priv->prefs = gs_prefs_new(); + +- gs_listener_dbus_init (listener); ++ g_assert (gs_listener_dbus_init (listener)); + + init_session_id (listener); + +-- +2.29.2 + |