diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-08-07 16:26:38 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-08-07 16:30:20 +0300 |
commit | 9925035545aaffe99391974b389bf46765b7440f (patch) | |
tree | ee7b9f6a4af7e960c16aec072309355d4b96e8fa | |
parent | 0c5ebef8cca918aa79139ffac10f9e8c9de4d370 (diff) | |
download | obexd-9925035545aaffe99391974b389bf46765b7440f.tar.gz |
client: Fix possible memory leak in bluetooth driver
2,210 (64 direct, 2,146 indirect) bytes in 2 blocks are definitely lost in loss record 150 of 155
at 0x4A0884D: malloc (vg_replace_malloc.c:263)
by 0x3B2900F8A1: sdp_create (sdp.c:3656)
by 0x3B2900FAE0: sdp_connect (sdp.c:4604)
by 0x415902: adapter_reply (bluetooth.c:421)
by 0x3B22C0C429: ??? (in /usr/lib64/libdbus-1.so.3.5.6)
by 0x3B22C0F5E9: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.5.6)
by 0x4059A7: message_dispatch (mainloop.c:76)
by 0x32CD64822A: ??? (in /usr/lib64/libglib-2.0.so.0.3200.4)
by 0x32CD647694: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3200.4)
by 0x32CD6479C7: ??? (in /usr/lib64/libglib-2.0.so.0.3200.4)
by 0x32CD647DC1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3200.4)
by 0x40567F: main (main.c:175)
-rw-r--r-- | client/bluetooth.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/client/bluetooth.c b/client/bluetooth.c index 0d91ea1..a22d717 100644 --- a/client/bluetooth.c +++ b/client/bluetooth.c @@ -160,6 +160,9 @@ static void session_destroy(struct bluetooth_session *session) g_io_channel_unref(session->io); } + if (session->sdp) + sdp_close(session->sdp); + if (session->conn) dbus_connection_unref(session->conn); |