summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2012-09-20 13:26:12 -0500
committerMike Gorse <mgorse@suse.com>2012-09-20 13:26:12 -0500
commitb3210d247daa9480d3037bac4d7cc1963883abea (patch)
tree43b21a95e0287068eda40fb4dca57f073ac99159
parent7d9875fca39efe216625ee411bf18661b548da54 (diff)
downloadat-spi2-atk-b3210d247daa9480d3037bac4d7cc1963883abea.tar.gz
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
-rw-r--r--atk-adaptor/bridge.c3
1 files changed, 2 insertions, 1 deletions
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;