diff options
author | Ulisses Furquim <ulissesf@gmail.com> | 2006-09-22 15:22:40 +0000 |
---|---|---|
committer | Ulisses Furquim <ulissesf@gmail.com> | 2006-09-22 15:22:40 +0000 |
commit | 5cb850bf90425f4bd0238f161689eb2b72a72c24 (patch) | |
tree | 36846d981c4f95ae78fad6a599a1274af2ef8742 /hcid/dbus-sdp.c | |
parent | 1a31f243d37a64e02c26308d9839589d4ee50847 (diff) |
Fix SDP session leak when a page timeout occurrs during RFCOMM.{Bind(),Connect()}
Diffstat (limited to 'hcid/dbus-sdp.c')
-rw-r--r-- | hcid/dbus-sdp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hcid/dbus-sdp.c b/hcid/dbus-sdp.c index 6a919144..3372df15 100644 --- a/hcid/dbus-sdp.c +++ b/hcid/dbus-sdp.c @@ -817,11 +817,17 @@ failed: get_record_data_call_cb(c->priv, NULL, err); else error_connection_attempt_failed(c->conn, c->rq, err); + if (c->priv) get_record_data_free(c->priv); + if (ctxt) transaction_context_free(ctxt); + else + sdp_close(c->session); + g_io_channel_unref(chan); + done: pending_connects = slist_remove(pending_connects, c); pending_connect_free(c); |