summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-sdp.c
diff options
context:
space:
mode:
authorUlisses Furquim <ulissesf@gmail.com>2006-09-22 15:22:40 +0000
committerUlisses Furquim <ulissesf@gmail.com>2006-09-22 15:22:40 +0000
commit5cb850bf90425f4bd0238f161689eb2b72a72c24 (patch)
tree36846d981c4f95ae78fad6a599a1274af2ef8742 /hcid/dbus-sdp.c
parent1a31f243d37a64e02c26308d9839589d4ee50847 (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.c6
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);