From 3110457f72f70b2d283c1ad2f27b91b95d75d92f Mon Sep 17 00:00:00 2001 From: Christian Hergert 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 0ae40193aa..0eee94ea9b 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 (¬ification, 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; }