fix bug during fence list and place list 65/137365/1 accepted/tizen/unified/20170706.194208 submit/tizen/20170706.104103
authorjomui <jongmun.woo@samsung.com>
Wed, 5 Jul 2017 10:21:37 +0000 (19:21 +0900)
committerjomui <jongmun.woo@samsung.com>
Wed, 5 Jul 2017 10:21:50 +0000 (19:21 +0900)
Signed-off-by: jomui <jongmun.woo@samsung.com>
Change-Id: If0c12f4b4744988bd20ec20ac71dca86b83a0293

src/geofence_manager.c

index 994f8c6c0a6100e998e692434a1bd90bd0f43af6..6f2aede0a56611ab10dc61f16aed5838dc05089d 100644 (file)
@@ -675,10 +675,7 @@ EXPORT_API int geofence_manager_foreach_geofence_list(geofence_manager_h manager
                GEOFENCE_LOGD("Fence id: %d, lat: %lf, lon: %lf, rad: %d, bssid: %s", fence_ids[i], params[i].latitude, params[i].longitude, params[i].radius, params[i].bssid);
        }
 
-       int iterations = fence_amount;
-       while (iterations-- > 0)
-               geofence_parameter_free((geofence_s *)(params++));
-
+       g_slice_free1(sizeof(geofence_s) * fence_amount , params);
        g_slice_free1(sizeof(int)*fence_amount, fence_ids);
 
        GEOFENCE_LOGD("<<< End");
@@ -717,10 +714,8 @@ EXPORT_API int geofence_manager_foreach_place_geofence_list(geofence_manager_h m
                callback(fence_ids[i], (geofence_h)geofence_parameter_copy((const geofence_s *)(params + i)), (i + 1), fence_amount, user_data);
                GEOFENCE_LOGD("Fence id: %d, lat: %lf, lon: %lf, rad: %d, address: %s, bssid: %s, ssid: %s", fence_ids[i], params[i].latitude, params[i].longitude, params[i].radius, params[i].address, params[i].bssid, params[i].ssid);
        }
-       int iterations = fence_amount;
-       while (iterations-- > 0)
-               geofence_parameter_free((geofence_s *)(params++));
 
+       g_slice_free1(sizeof(geofence_s) * fence_amount , params);
        g_slice_free1(sizeof(int)*fence_amount, fence_ids);
 
        GEOFENCE_LOGD("<<< End");
@@ -756,11 +751,8 @@ EXPORT_API int geofence_manager_foreach_place_list(geofence_manager_h manager, g
        for (i = 0; i < place_amount; i++)
                callback(place_ids[i], ((const place_s *)(params + i))->place_name, (i + 1), place_amount, user_data);
 
-       int iterations = place_amount;
-       while (iterations-- > 0)
-               g_slice_free(place_s, (params++));
-
-       g_slice_free1(sizeof(int)*place_amount, place_ids);
+       g_slice_free1(sizeof(place_s) * place_amount , params);
+       g_slice_free1(sizeof(int) * place_amount, place_ids);
 
        GEOFENCE_LOGD("<<< End");
        return GEOFENCE_MANAGER_ERROR_NONE;