Fix memory leak (SVACE Id: 176026) 71/116071/1
authorAtul Rai <a.rai@samsung.com>
Wed, 22 Feb 2017 05:14:12 +0000 (10:44 +0530)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Thu, 23 Feb 2017 00:31:35 +0000 (09:31 +0900)
Change-Id: Ife900d1265a0331a59f9a3d4293cdc3f3b3ab1b6
Signed-off-by: Atul Rai <a.rai@samsung.com>
src/bluetooth-tds.c

index 5445053..51e3691 100644 (file)
@@ -635,8 +635,12 @@ int _bt_tds_parse_transport_blocks(bt_tds_transport_block_list_s **info,
 
        if (info_list != NULL) {
                (*info)->data = (tds_transport_data_s**)g_malloc0(g_slist_length(info_list) * sizeof(tds_transport_data_s));
-               for (l = info_list, k = 0; l; l = g_slist_next(l), k++)
-                       (*info)->data[k] = (tds_transport_data_s*)l->data;
+               k = 0;
+               while (info_list) {
+                       l = info_list;
+                       (*info)->data[k++] = (tds_transport_data_s*)l->data;
+                       info_list = g_slist_remove(info_list, l->data);
+               }
                return BT_ERROR_NONE;
        }
        return BT_ERROR_NO_DATA;