Fix memory leak (SVACE Id: 176026) 18/115918/1 accepted/tizen/3.0/common/20170223.122353 accepted/tizen/3.0/ivi/20170223.073932 accepted/tizen/3.0/mobile/20170223.073734 accepted/tizen/3.0/tv/20170223.073859 accepted/tizen/3.0/wearable/20170223.073917 submit/tizen_3.0/20170222.001458 submit/tizen_3.0/20170222.235503
authorAtul Rai <a.rai@samsung.com>
Wed, 22 Feb 2017 05:14:12 +0000 (10:44 +0530)
committerAtul Rai <a.rai@samsung.com>
Wed, 22 Feb 2017 05:16:36 +0000 (10:46 +0530)
Change-Id: I038fbca1efab985b8573cd9e5f238c1d73388d56
Signed-off-by: Atul Rai <a.rai@samsung.com>
src/bluetooth-tds.c

index 751680d98705658b64dd4a8a2f9dd5c1d2007c5e..5459e80437c0d967beb3de740cc7f2e42b8ca010 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;