From b3210d247daa9480d3037bac4d7cc1963883abea Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Thu, 20 Sep 2012 13:26:12 -0500 Subject: [PATCH] Fix crashes in atk_bridge_adaptor_cleanup When freeing data, atk_bridge_adaptor_cleanup frees the wrong pointer, resulting in a crash. Also, we need to close D-Bus connections before removing the last reference, or libdbus will abort. https://bugzilla.gnome.org/show_bug.cgi?id=684434 --- atk-adaptor/bridge.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c index 99a6a36..74f0431 100644 --- a/atk-adaptor/bridge.c +++ b/atk-adaptor/bridge.c @@ -963,13 +963,14 @@ atk_bridge_adaptor_cleanup (void) droute_context_unregister (spi_global_app_data->droute, connection); droute_unintercept_dbus (connection); + dbus_connection_close (connection); dbus_connection_unref (connection); } g_list_free (spi_global_app_data->direct_connections); spi_global_app_data->direct_connections = NULL; for (ls = clients; ls; ls = ls->next) - g_free (l->data); + g_free (ls->data); g_slist_free (clients); clients = NULL; -- 2.7.4