summaryrefslogtreecommitdiffstats
path: root/testing/source/vtown/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/source/vtown/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch')
-rw-r--r--testing/source/vtown/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/testing/source/vtown/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch b/testing/source/vtown/xfce/xfce4-screensaver/0001-Catch-gs_listener_dbus_init-failures.patch
new file mode 100644
index 000000000..8db50475b
--- /dev/null
+++ b/testing/source/vtown/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
+