public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/glib2] cve-2026-58016-f44: Remove unused patch
@ 2026-08-11 10:36 David King
0 siblings, 0 replies; only message in thread
From: David King @ 2026-08-11 10:36 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/glib2
Branch : cve-2026-58016-f44
Commit : aafbdc7a3c6f7842a7869988c65cdcab3471b6cb
Author : David King <amigadave@amigadave.com>
Date : 2019-06-11T09:04:53+01:00
Stats : +0/-136 in 1 file(s)
URL : https://src.fedoraproject.org/rpms/glib2/c/aafbdc7a3c6f7842a7869988c65cdcab3471b6cb?branch=cve-2026-58016-f44
Log:
Remove unused patch
---
diff --git a/glib2-gfdonotificationbackend-fix-possible-invalid-pointer.patch b/glib2-gfdonotificationbackend-fix-possible-invalid-pointer.patch
deleted file mode 100644
index 61a7f2d..0000000
--- a/glib2-gfdonotificationbackend-fix-possible-invalid-pointer.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From d26b66e225d3f0d308b2ec1a862a505709076bf7 Mon Sep 17 00:00:00 2001
-From: Arnaud Rebillout <elboulangero@gmail.com>
-Date: Sun, 10 Jun 2018 20:56:12 +0700
-Subject: [PATCH] gfdonotificationbackend: Fix possible invalid pointer in dbus
- callback
-
-The way things were before: a FreedesktopNotification struct is
-allocated before the dbus call, and this same struct is possibly re-used
-for other dbus calls. If the server becomes unavailable, the callback
-will be invoked after the call times out, which leaves a long time where
-other dbus calls can happen, re-using the same FreedesktopNotification
-as user data. When the first call times out, the callback is invoked,
-and the user data is freed. Subsequent calls that used the same user
-data will time out later on, and try to free a pointer that was already
-freed, hence segfaults.
-
-This bug can be reproduced in Cinnamon 3.6.7, as mentioned in:
-<https://github.com/linuxmint/Cinnamon/issues/7491>
-
-This commit fixes that by always allocating a new
-FreedesktopNotification before invoking dbus_call(), ensuring that the
-callback always have a valid user data.
-
-Signed-off-by: Arnaud Rebillout <elboulangero@gmail.com>
----
- gio/gfdonotificationbackend.c | 55 ++++++++++++++++++++++++++-----------------
- 1 file changed, 34 insertions(+), 21 deletions(-)
-
-diff --git a/gio/gfdonotificationbackend.c b/gio/gfdonotificationbackend.c
-index a0d4814335be..ab5329497d1e 100644
---- a/gio/gfdonotificationbackend.c
-+++ b/gio/gfdonotificationbackend.c
-@@ -62,7 +62,6 @@ typedef struct
- GVariant *default_action_target;
- } FreedesktopNotification;
-
--
- static void
- freedesktop_notification_free (gpointer data)
- {
-@@ -76,6 +75,24 @@ freedesktop_notification_free (gpointer data)
- g_slice_free (FreedesktopNotification, n);
- }
-
-+static FreedesktopNotification *
-+freedesktop_notification_new (GFdoNotificationBackend *backend,
-+ const gchar *id,
-+ GNotification *notification)
-+{
-+ FreedesktopNotification *n;
-+
-+ n = g_slice_new0 (FreedesktopNotification);
-+ n->backend = backend;
-+ n->id = g_strdup (id);
-+ n->notify_id = 0;
-+ g_notification_get_default_action (notification,
-+ &n->default_action,
-+ &n->default_action_target);
-+
-+ return n;
-+}
-+
- static FreedesktopNotification *
- g_fdo_notification_backend_find_notification (GFdoNotificationBackend *backend,
- const gchar *id)
-@@ -319,8 +336,19 @@ notification_sent (GObject *source_object,
- val = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), result, &error);
- if (val)
- {
-+ GFdoNotificationBackend *backend = n->backend;
-+ FreedesktopNotification *match;
-+
- g_variant_get (val, "(u)", &n->notify_id);
- g_variant_unref (val);
-+
-+ match = g_fdo_notification_backend_find_notification_by_notify_id (backend, n->notify_id);
-+ if (match != NULL)
-+ {
-+ backend->notifications = g_slist_remove (backend->notifications, match);
-+ freedesktop_notification_free (match);
-+ }
-+ backend->notifications = g_slist_prepend (backend->notifications, n);
- }
- else
- {
-@@ -331,9 +359,7 @@ notification_sent (GObject *source_object,
- warning_printed = TRUE;
- }
-
-- n->backend->notifications = g_slist_remove (n->backend->notifications, n);
- freedesktop_notification_free (n);
--
- g_error_free (error);
- }
- }
-@@ -378,7 +404,7 @@ g_fdo_notification_backend_send_notification (GNotificationBackend *backend,
- GNotification *notification)
- {
- GFdoNotificationBackend *self = G_FDO_NOTIFICATION_BACKEND (backend);
-- FreedesktopNotification *n;
-+ FreedesktopNotification *n, *tmp;
-
- if (self->notify_subscription == 0)
- {
-@@ -391,24 +417,11 @@ g_fdo_notification_backend_send_notification (GNotificationBackend *backend,
- notify_signal, backend, NULL);
- }
-
-- n = g_fdo_notification_backend_find_notification (self, id);
-- if (n == NULL)
-- {
-- n = g_slice_new0 (FreedesktopNotification);
-- n->backend = self;
-- n->id = g_strdup (id);
-- n->notify_id = 0;
--
-- n->backend->notifications = g_slist_prepend (n->backend->notifications, n);
-- }
-- else
-- {
-- /* Only clear default action. All other fields are still valid */
-- g_clear_pointer (&n->default_action, g_free);
-- g_clear_pointer (&n->default_action_target, g_variant_unref);
-- }
-+ n = freedesktop_notification_new (self, id, notification);
-
-- g_notification_get_default_action (notification, &n->default_action, &n->default_action_target);
-+ tmp = g_fdo_notification_backend_find_notification (self, id);
-+ if (tmp)
-+ n->notify_id = tmp->notify_id;
-
- call_notify (backend->dbus_connection, backend->application, n->notify_id, notification, notification_sent, n);
- }
---
-2.14.4
-
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-11 10:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-11 10:36 [rpms/glib2] cve-2026-58016-f44: Remove unused patch David King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox