diff options
author | Colomban Wendling <cwendling@hypra.fr> | 2020-06-11 10:00:05 +0200 |
---|---|---|
committer | Colomban Wendling <cwendling@hypra.fr> | 2020-06-11 10:00:05 +0200 |
commit | 48fc1b31760f36cb5866a1fdf569da6decd98b6e (patch) | |
tree | bfecce988f808a560da65209fc5e1c494f43c278 | |
parent | fdb1191ce0e747473a2ef2114266ff0f0d2e40bf (diff) | |
download | at-spi2-core-48fc1b31760f36cb5866a1fdf569da6decd98b6e.tar.gz |
Fix use-after-free when a device listener is destroyed
Fixes #22.
-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); |