summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-base/gnome-settings-daemon/files/glib-2.58-compat.patch')
-rw-r--r--gnome-base/gnome-settings-daemon/files/glib-2.58-compat.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnome-base/gnome-settings-daemon/files/glib-2.58-compat.patch b/gnome-base/gnome-settings-daemon/files/glib-2.58-compat.patch
new file mode 100644
index 000000000000..94e1cad666e3
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/glib-2.58-compat.patch
@@ -0,0 +1,33 @@
+From 3110457f72f70b2d283c1ad2f27b91b95d75d92f Mon Sep 17 00:00:00 2001
+From: Christian Hergert <chergert@redhat.com>
+Date: Wed, 18 Jul 2018 19:31:17 -0700
+Subject: [PATCH] housekeeping: fix improper notify_notification_close() usage
+
+notify_notification_close() expects that a parameter will be available for
+the error location, which could be a dangling pointer in a register or
+on the stack in the case of some architectures.
+
+This was caught by GNOME/glib#1425 which allows us to check proper type
+parameters.
+---
+ plugins/housekeeping/gsd-disk-space.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c
+index 0ae40193..0eee94ea 100644
+--- a/plugins/housekeeping/gsd-disk-space.c
++++ b/plugins/housekeeping/gsd-disk-space.c
+@@ -1017,7 +1017,9 @@ gsd_ldsm_clean (void)
+ g_clear_object (&ldsm_monitor);
+ g_clear_object (&settings);
+ g_clear_object (&privacy_settings);
+- g_clear_pointer (&notification, notify_notification_close);
++ /* NotifyNotification::closed callback will drop reference */
++ if (notification != NULL)
++ notify_notification_close (notification, NULL);
+ g_slist_free_full (ignore_paths, g_free);
+ ignore_paths = NULL;
+ }
+--
+2.17.0
+