summaryrefslogtreecommitdiff
path: root/atspi/atspi-device-listener.c
diff options
context:
space:
mode:
authorColomban Wendling <cwendling@hypra.fr>2020-06-11 10:00:05 +0200
committerColomban Wendling <cwendling@hypra.fr>2020-06-11 10:00:05 +0200
commit48fc1b31760f36cb5866a1fdf569da6decd98b6e (patch)
treebfecce988f808a560da65209fc5e1c494f43c278 /atspi/atspi-device-listener.c
parentfdb1191ce0e747473a2ef2114266ff0f0d2e40bf (diff)
downloadat-spi2-core-48fc1b31760f36cb5866a1fdf569da6decd98b6e.tar.gz
Fix use-after-free when a device listener is destroyed
Fixes #22.
Diffstat (limited to 'atspi/atspi-device-listener.c')
-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);