blob: 94e1cad666e314bca9be843c11afa8a96c73c52a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 (¬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;
}
--
2.17.0
|