[at-spi2-core] Fix double free when removing event listeners



commit 0b551954386543e97370d97ea1b78dd096edb14e
Author: Mike Gorse <mgorse suse com>
Date:   Wed Apr 21 16:37:14 2021 -0500

    Fix double free when removing event listeners
    
                Fixes https://gitlab.gnome.org/GNOME/at-spi2-core/issues/35

 atspi/atspi-event-listener.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c
index ca6828f..5455b58 100644
--- a/atspi/atspi-event-listener.c
+++ b/atspi/atspi-event-listener.c
@@ -798,7 +798,10 @@ atspi_event_listener_deregister_from_callback (AtspiEventListenerCB callback,
       DBusMessage *message, *reply;
       l = g_list_next (l);
       if (in_send)
-      pending_removals = g_list_append (pending_removals, e);
+      {
+        pending_removals = g_list_remove (pending_removals, e);
+        pending_removals = g_list_append (pending_removals, e);
+      }
       else
         event_listeners = g_list_remove (event_listeners, e);
       for (i = 0; i < matchrule_array->len; i++)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]