summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2020-06-11 15:00:59 +0000
committerMike Gorse <mgorse@suse.com>2020-06-11 15:00:59 +0000
commitc37e4c1806740eabbbfb9d5ccb016d65b9796dec (patch)
treebfecce988f808a560da65209fc5e1c494f43c278
parentfdb1191ce0e747473a2ef2114266ff0f0d2e40bf (diff)
parent48fc1b31760f36cb5866a1fdf569da6decd98b6e (diff)
downloadat-spi2-core-c37e4c1806740eabbbfb9d5ccb016d65b9796dec.tar.gz
Merge branch 'device-deregister' into 'master'
Fix use-after-free when a device listener is destroyed Closes #22 See merge request GNOME/at-spi2-core!29
-rw-r--r--atspi/atspi-device-listener.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/atspi/atspi-device-listener.c b/atspi/atspi-device-listener.c
index 8e04c417..0d5ff35e 100644
--- a/atspi/atspi-device-listener.c
+++ b/atspi/atspi-device-listener.c
@@ -177,7 +177,9 @@ atspi_device_listener_finalize (GObject *object)
{
AtspiDeviceListener *listener = (AtspiDeviceListener *) object;
GList *l;
-
+
+ device_listeners = g_list_remove (device_listeners, listener);
+
for (l = listener->callbacks; l; l = l->next)
{
device_event_handler_free (l->data);