From: Kichan Kwon Date: Wed, 5 Jul 2017 02:54:51 +0000 (+0900) Subject: Fix memory issue X-Git-Tag: submit/tizen/20170705.023006^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=daddf571030a57020b10dc7b06bdda9c54866883;p=platform%2Fcore%2Fapi%2Fruntime-info.git Fix memory issue Change-Id: I2ba37dd792224f664d728da97e5c25825d9065fb Signed-off-by: Kichan Kwon --- diff --git a/src/runtime_info_usage.c b/src/runtime_info_usage.c index 1adaec8..ee172bd 100644 --- a/src/runtime_info_usage.c +++ b/src/runtime_info_usage.c @@ -176,9 +176,6 @@ static GVariant *runtime_info_dbus_request_usage_info(runtime_info_usage_type_e //LCOV_EXCL_STOP } - if (args_in) - g_variant_unref(args_in); - usage = g_variant_get_child_value(args_out, 0); g_variant_unref(args_out); @@ -328,7 +325,8 @@ API int runtime_info_get_process_memory_info(int *pid, int size, process_memory_ } /* Check whether the received usage has expected format or not */ - if (g_strcmp0(g_variant_get_type_string(usages), "a(iiiiiii)")) { + if (g_strcmp0(g_variant_get_type_string(usages), "a(iiiiiii)") || + g_variant_n_children(usages) != size) { //LCOV_EXCL_START : system error _E("DBUS_METHOD_CALL: received dbus message is not in expected format"); g_variant_unref(usages); @@ -347,13 +345,13 @@ API int runtime_info_get_process_memory_info(int *pid, int size, process_memory_ g_variant_iter_init(&iter, usages); for (i = 0; i < size; i++) g_variant_iter_next(&iter, "(iiiiiii)", - &(info[i]->vsz), - &(info[i]->rss), - &(info[i]->pss), - &(info[i]->shared_clean), - &(info[i]->shared_dirty), - &(info[i]->private_clean), - &(info[i]->private_dirty)); + &((*info)[i].vsz), + &((*info)[i].rss), + &((*info)[i].pss), + &((*info)[i].shared_clean), + &((*info)[i].shared_dirty), + &((*info)[i].private_clean), + &((*info)[i].private_dirty)); g_variant_unref(usages); @@ -436,7 +434,8 @@ API int runtime_info_get_process_cpu_usage(int *pid, int size, process_cpu_usage } /* Check whether the received usage has expected format or not */ - if (g_strcmp0(g_variant_get_type_string(usages), "a(ii)")) { + if (g_strcmp0(g_variant_get_type_string(usages), "a(ii)") || + g_variant_n_children(usages) != size) { //LCOV_EXCL_START : system error _E("DBUS_METHOD_CALL: received dbus message is not in expected format"); g_variant_unref(usages); @@ -456,7 +455,7 @@ API int runtime_info_get_process_cpu_usage(int *pid, int size, process_cpu_usage g_variant_iter_init(&iter, usages); for (i = 0; i < size; i++) - g_variant_iter_next(&iter, "(ii)", &(usage[i]->utime), &(usage[i]->stime)); + g_variant_iter_next(&iter, "(ii)", &((*usage)[i].utime), &((*usage)[i].stime)); g_variant_unref(usages);