diff options
author | Mike Gorse <mgorse@suse.com> | 2020-06-11 15:00:59 +0000 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2020-06-11 15:00:59 +0000 |
commit | c37e4c1806740eabbbfb9d5ccb016d65b9796dec (patch) | |
tree | bfecce988f808a560da65209fc5e1c494f43c278 | |
parent | fdb1191ce0e747473a2ef2114266ff0f0d2e40bf (diff) | |
parent | 48fc1b31760f36cb5866a1fdf569da6decd98b6e (diff) | |
download | at-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.c | 4 |
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); |