From 872c8a169f6d832d479b1f8acb9332ed2b47fe94 Mon Sep 17 00:00:00 2001 From: Abhishek Vijay Date: Tue, 7 Apr 2020 11:09:36 +0530 Subject: [PATCH] [Non-ACR]fixing memory issue Change-Id: I333b77fe9f6cc6ca0f8ffd95802848045b1cd0d9 Signed-off-by: Abhishek Vijay --- src/battery_dump/bd_history_item.c | 91 ++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 43 deletions(-) diff --git a/src/battery_dump/bd_history_item.c b/src/battery_dump/bd_history_item.c index 7b755a4..fae5728 100644 --- a/src/battery_dump/bd_history_item.c +++ b/src/battery_dump/bd_history_item.c @@ -161,13 +161,17 @@ static int bd_get_and_print_battery_usage_from_dump(int fd, long int duration) dump_p = g_string_sized_new(30); BM_CHECK_MEM_ALLOC(dump_p, {}); + g_string_append(dump_p, TIZEN_DUMP_VERSION); // Power Capacity g_string_append_printf(dump_p, ",0,l,pws,%d,0,0,0", battery_capacity); g_string_append(dump_p, "\n"); + _DBG("%s", dump_p->str); + if (write(fd, dump_p->str, dump_p->len) < 0) _WARN("write error"); + g_string_free(dump_p, TRUE); g_hash_table_iter_init(&iter, app_map); @@ -1148,52 +1152,53 @@ int bd_print_history_item_main(int fd, int num_h_items, long long base_time, boo if (write(fd, dump_tmp_p->str, dump_tmp_p->len) < 0) _WARN("write error"); - g_free(dump_tmp_p->str); + g_string_free(dump_p, TRUE); - //Dump i & l values after this - ret = bd_get_and_print_uid_info_entry_from_dump(fd); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("UID data dump failed"); - // Get Last charge time to dump "l" field - // for the time being dumping all data - long int duration = 0; //Time of last charge - ret = bd_get_and_print_gn_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GN dump failed"); - ret = bd_get_and_print_gwf_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GWF data dump failed"); - ret = bd_get_and_print_gble_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GBL data dump failed"); - ret = bd_get_and_print_gbr_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GBR data dump failed"); - ret = bd_get_and_print_gst_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GST data dump failed"); - ret = bd_get_and_print_gwst_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GWST data dump failed"); - ret = bd_get_and_print_gcpu_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("GCPU data dump failed"); - ret = bd_get_and_print_misc_stat_entry_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("MISc data dump failed"); - // Battery Usage Dump - // Add usage for each of the resource - // and each of the application - ret = bd_get_and_print_battery_usage_from_dump(fd, duration); - if (ret != BATTERY_MONITOR_ERROR_NONE) - _ERR("Battery Usage failed"); + //Dump i & l values after this + ret = bd_get_and_print_uid_info_entry_from_dump(fd); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("UID data dump failed"); + // Get Last charge time to dump "l" field + // for the time being dumping all data + long int duration = 0; //Time of last charge + ret = bd_get_and_print_gn_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GN dump failed"); + ret = bd_get_and_print_gwf_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GWF data dump failed"); + ret = bd_get_and_print_gble_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GBL data dump failed"); + ret = bd_get_and_print_gbr_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GBR data dump failed"); + ret = bd_get_and_print_gst_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GST data dump failed"); + ret = bd_get_and_print_gwst_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GWST data dump failed"); + ret = bd_get_and_print_gcpu_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("GCPU data dump failed"); + ret = bd_get_and_print_misc_stat_entry_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("MISc data dump failed"); + // Battery Usage Dump + // Add usage for each of the resource + // and each of the application + ret = bd_get_and_print_battery_usage_from_dump(fd, duration); + if (ret != BATTERY_MONITOR_ERROR_NONE) + _ERR("Battery Usage failed"); - _DBG("DUMP COMPLETED/DELETE HASH TABLE"); + _DBG("DUMP COMPLETED/DELETE HASH TABLE"); - g_hash_table_destroy(app_map); - h_flag = true; - EXIT; - return BATTERY_MONITOR_ERROR_NONE; + g_hash_table_destroy(app_map); + h_flag = true; + + EXIT; + return BATTERY_MONITOR_ERROR_NONE; } static int bd_dump_data_item_reset(dump_data_s* old_state) -- 2.7.4