OSDN Git Service

obexd: Fix memory leak in bluetooth driver
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 13 Jun 2012 08:31:51 +0000 (11:31 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 4 Dec 2012 21:49:02 +0000 (22:49 +0100)
384 (184 direct, 200 indirect) bytes in 1 blocks are definitely lost in loss record 141 of 157
   at 0x4A0884D: malloc (vg_replace_malloc.c:263)
   by 0x392E217815: ??? (in /usr/lib64/libdbus-1.so.3.5.6)
   by 0x392E218632: dbus_message_new_method_call (in /usr/lib64/libdbus-1.so.3.5.6)
   by 0x413AD3: send_method_call (bluetooth.c:87)
   by 0x414933: manager_reply (bluetooth.c:496)
   by 0x392E20C429: ??? (in /usr/lib64/libdbus-1.so.3.5.6)
   by 0x392E20F5E9: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.5.6)
   by 0x405767: message_dispatch (mainloop.c:76)
   by 0x369E04827A: ??? (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x369E0476E4: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x369E047A17: ??? (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x369E047E11: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3200.3)

obexd/client/bluetooth.c

index 56f80fe..0d91ea1 100644 (file)
@@ -116,6 +116,8 @@ static int send_method_call(struct bluetooth_session *session,
 
        session->pending_calls = g_slist_prepend(session->pending_calls, call);
 
+       dbus_message_unref(msg);
+
        return 0;
 }