summaryrefslogtreecommitdiffstats
path: root/hcid/adapter.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2008-04-04 22:16:00 +0000
committerLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2008-04-04 22:16:00 +0000
commit5d40ae4925b2f57ee70aa7f824eee29dbf3807d7 (patch)
treead05c018280920fd520a14f80e2decb7de6247bf /hcid/adapter.c
parente83935d0bc0e4d043b4f4cd372d69b95b6f10ffc (diff)
Fix agent double free on device removal.
Diffstat (limited to 'hcid/adapter.c')
-rw-r--r--hcid/adapter.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/hcid/adapter.c b/hcid/adapter.c
index 04fe4c09..71b79d83 100644
--- a/hcid/adapter.c
+++ b/hcid/adapter.c
@@ -3940,15 +3940,6 @@ static DBusHandlerResult find_device(DBusConnection *conn,
return send_message_and_unref(conn, reply);
}
-static void agent_exited(const char *name, struct adapter *adapter)
-{
- debug("Agent %s exited without calling Unregister", name);
-
- agent_destroy(adapter->agent, TRUE);
-
- adapter->agent = NULL;
-}
-
static void agent_removed(struct agent *agent, struct adapter *adapter)
{
if (adapter->agent == agent)
@@ -3985,8 +3976,6 @@ static DBusHandlerResult register_agent(DBusConnection *conn,
adapter->agent = agent;
- name_listener_add(conn, name, (name_cb_t) agent_exited, adapter);
-
return send_message_and_unref(conn, reply);
}
@@ -4010,9 +3999,6 @@ static DBusHandlerResult unregister_agent(DBusConnection *conn,
if (!reply)
return DBUS_HANDLER_RESULT_NEED_MEMORY;
- name_listener_remove(conn, name, (name_cb_t) agent_exited,
- adapter);
-
agent_destroy(adapter->agent, FALSE);
adapter->agent = NULL;