Fix memory leak 66/232266/1 submit/tizen_5.5/20200501.043834
authorKichan Kwon <k_c.kwon@samsung.com>
Wed, 29 Apr 2020 10:24:08 +0000 (19:24 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Wed, 29 Apr 2020 10:24:13 +0000 (19:24 +0900)
Change-Id: I55e40606d05d0231c3e4db8abfcf95ce1d413ff7
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
src/bm_power_engine.c
src/bm_util.c

index 0db75e9..def2488 100644 (file)
@@ -296,7 +296,6 @@ static int bm_appid_session_usage_map(char *app_id, int app_usage, bm_plugin_id_
                _DBG("update - app_usage for app_id(%s), for resource(%d), by usage(%d)", app_id, resource_id, app_usage);
                //_DBG("session usage bt %d, wifi %d, cpu %d, dsp %d, dn %d", temp->rId_ble, temp->rId_wifi, temp->rId_cpu,
                //temp->rId_display, temp->rId_device_network);
-               g_free(app_id);
        } else {
                appid_usage_s *temp = (appid_usage_s *)calloc(1, sizeof(appid_usage_s));
                if (temp == NULL) {
@@ -323,7 +322,7 @@ static int bm_appid_session_usage_map(char *app_id, int app_usage, bm_plugin_id_
 
                _DBG("insert - app_usage app_id(%s), for resource(%d), by usage(%d)", app_id, resource_id, app_usage);
 
-               _INFO("inserted - %d", g_hash_table_insert(gl_hash, app_id, temp));
+               _INFO("inserted - %d", g_hash_table_insert(gl_hash, g_strdup(app_id), temp));
        }
 
        EXIT;
@@ -385,7 +384,7 @@ int bm_ble_calc_power_and_commit(bm_bluetooth_st *handle, bool mode)
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st2_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        long int edTime = 0, stTime = 0;
        long int sesTime = 0, conTime = 0, RX_app = 0, TX_app = 0;
@@ -615,7 +614,7 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode)
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st2_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        long int edTime = 0, stTime = 0;
        long int sesTime = 0, scTime = 0, tl_total = 0;
@@ -831,7 +830,7 @@ int bm_cpu_calc_power_and_commit(bm_cpu_st *handle, bool mode)
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st1_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        long int uTime = 0, sTime = 0;
        double onTime = 0;
@@ -970,7 +969,7 @@ int bm_display_calc_power_and_commit(bm_display_st *handle, bool mode)
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st1_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        long int edTime = 0, stTime = 0, sesTime = 0;
        long int highTime = 0, medTime = 0, lowTime = 0;
@@ -1118,7 +1117,7 @@ int bm_device_network_calc_power_and_commit(bm_device_network_st *handle, bool m
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st2_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        long int tl0 = 0, tl1 = 0, tl2 = 0, tl3 = 0, tl4 = 0, tl5 = 0, tl6 = 0;
        long int RX = 0, TX = 0;
@@ -1280,7 +1279,7 @@ int bm_gps_calc_power_and_commit(bm_gps_st *handle)
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st1_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        long int edTime = 0;
        long int stTime = 0;
@@ -1405,7 +1404,7 @@ int bm_hrm_calc_power_and_commit(bm_hrm_sensor_st *handle)
        int ret_val = BATTERY_MONITOR_ERROR_NONE;
 
        /* creating hash-map with (key, value) = (app-id, data) */
-       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st1_free);
+       GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
        /* iterating over list for data accumulation */
        for (hrm_data_iterator = handle->hrm_data_list; hrm_data_iterator; hrm_data_iterator = hrm_data_iterator->next) {
index f62783c..cfa8003 100644 (file)
@@ -424,12 +424,12 @@ void bm_set_free_atm_st2_list(GSList *atm_list)
                        atm_list_iterator = atm_list_iterator->next) {
 
                app_time_map_st2 *atm_node = (app_time_map_st2 *)atm_list_iterator->data;
-               if (atm_node != NULL && !atm_node->app_id)
+               if (atm_node != NULL && atm_node->app_id)
                        BM_FREE(atm_node->app_id);
        }
 
        /* free atm-list */
-       g_slist_free(atm_list);
+       g_slist_free_full(atm_list, free);
 
        EXIT;
        return;
@@ -450,12 +450,12 @@ void bm_set_free_atm_st1_list(GSList *atm_list)
                        atm_list_iterator = atm_list_iterator->next) {
 
                app_time_map_st1 *atm_node = (app_time_map_st1 *)atm_list_iterator->data;
-               if (atm_node != NULL && !atm_node->app_id)
+               if (atm_node != NULL && atm_node->app_id)
                        BM_FREE(atm_node->app_id);
        }
 
        /* free atm-list */
-       g_slist_free(atm_list);
+       g_slist_free_full(atm_list, free);
 
        EXIT;
        return;
@@ -497,7 +497,7 @@ void bm_set_free_ble_data_handle(bm_bluetooth_st **bt_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->bt_data_list);
+       g_slist_free_full(handle->bt_data_list, free);
 
        _DBG("after data_list free");
 
@@ -544,7 +544,7 @@ void bm_set_free_wifi_data_handle(bm_wifi_st **wifi_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->wifi_data_list);
+       g_slist_free_full(handle->wifi_data_list, free);
 
        _DBG("after data_list free");
 
@@ -592,7 +592,7 @@ void bm_set_free_cpu_data_handle(bm_cpu_st **cpu_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->cpu_data_list);
+       g_slist_free_full(handle->cpu_data_list, free);
 
        _DBG("after data_list free");
 
@@ -640,7 +640,7 @@ void bm_set_free_display_data_handle(bm_display_st **display_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->display_list);
+       g_slist_free_full(handle->display_list, free);
 
        _DBG("after data_list free");
 
@@ -687,7 +687,7 @@ void bm_set_free_device_network_data_handle(bm_device_network_st **dn_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->dn_data_list);
+       g_slist_free_full(handle->dn_data_list, free);
 
        _DBG("after data_list free");
 
@@ -735,7 +735,7 @@ void bm_set_free_gps_sensor_data_handle(bm_gps_st **gps_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->gps_data_list);
+       g_slist_free_full(handle->gps_data_list, free);
 
        _DBG("after data_list free");
 
@@ -782,7 +782,7 @@ void bm_set_free_hrm_sensor_data_handle(bm_hrm_sensor_st **hrm_handle)
        _DBG("after atm_list free");
 
        /* free data-list */
-       g_slist_free(handle->hrm_data_list);
+       g_slist_free_full(handle->hrm_data_list, free);
 
        _DBG("after data_list free");