android/gatt: Fix not freeing discover_srvc_data

This fixes the following issue:

32 bytes in 1 blocks are definitely lost in loss record 92 of 142
==19365==    at 0x4C29DB4: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==19365==    by 0x43275A: search_dev_for_srvc (gatt.c:1302)
==19365==    by 0x4354C9: connect_cb (gatt.c:1424)
==19365==    by 0x448AD3: accept_cb (btio.c:203)
==19365==    by 0x4E79D12: g_main_context_dispatch (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==19365==    by 0x4E7A05F: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==19365==    by 0x4E7A459: g_main_loop_run (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==19365==    by 0x40459D: main (main.c:538)
This commit is contained in:
Jakub Tyszkowski 2014-06-18 14:58:53 +02:00 committed by Szymon Janc
parent a0b7ee93a2
commit 4a939b5e8a

View File

@ -1245,11 +1245,15 @@ static void discover_primary_cb(uint8_t status, GSList *services,
if (status) {
error("gatt: Discover all primary services failed: %s",
att_ecode2str(status));
free(cb_data);
return;
}
if (!services) {
info("gatt: No primary services found");
free(cb_data);
return;
}