Skip to content
Snippets Groups Projects
Commit 58b4def2 authored by alloc.young's avatar alloc.young Committed by Hyman Huang
Browse files

softmmu: Fix dirtylimit memory leak


Fix memory leak in hmp_info_vcpu_dirty_limit,use g_autoptr
to handle memory deallocation.

Signed-off-by: default avataralloc.young <alloc.young@outlook.com>
Reviewed-by: default avatarHyman Huang <yong.huang@smartx.com>
Message-Id: <SA1PR11MB6760B9AB7EAFBDAFB524ED06F5E3A@SA1PR11MB6760.namprd11.prod.outlook.com>
Signed-off-by: default avatarHyman Huang <yong.huang@smartx.com>
parent f5fe7c17
No related branches found
No related tags found
No related merge requests found
......@@ -653,7 +653,8 @@ struct DirtyLimitInfoList *qmp_query_vcpu_dirty_limit(Error **errp)
void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
{
DirtyLimitInfoList *limit, *head, *info = NULL;
DirtyLimitInfoList *info;
g_autoptr(DirtyLimitInfoList) head = NULL;
Error *err = NULL;
if (!dirtylimit_in_service()) {
......@@ -661,20 +662,17 @@ void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
return;
}
info = qmp_query_vcpu_dirty_limit(&err);
head = qmp_query_vcpu_dirty_limit(&err);
if (err) {
hmp_handle_error(mon, err);
return;
}
head = info;
for (limit = head; limit != NULL; limit = limit->next) {
for (info = head; info != NULL; info = info->next) {
monitor_printf(mon, "vcpu[%"PRIi64"], limit rate %"PRIi64 " (MB/s),"
" current rate %"PRIi64 " (MB/s)\n",
limit->value->cpu_index,
limit->value->limit_rate,
limit->value->current_rate);
info->value->cpu_index,
info->value->limit_rate,
info->value->current_rate);
}
g_free(info);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment