hmp: Fix freeing of PciInfoList
Remember the original PciInfoList in info_list and use
the info variable to traverse the list.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
diff --git a/hmp.c b/hmp.c
index e7659d5..fd4f755 100644
--- a/hmp.c
+++ b/hmp.c
@@ -486,17 +486,17 @@
void hmp_info_pci(Monitor *mon)
{
- PciInfoList *info;
+ PciInfoList *info_list, *info;
Error *err = NULL;
- info = qmp_query_pci(&err);
+ info_list = qmp_query_pci(&err);
if (err) {
monitor_printf(mon, "PCI devices not supported\n");
error_free(err);
return;
}
- for (; info; info = info->next) {
+ for (info = info_list; info; info = info->next) {
PciDeviceInfoList *dev;
for (dev = info->value->devices; dev; dev = dev->next) {
@@ -504,7 +504,7 @@
}
}
- qapi_free_PciInfoList(info);
+ qapi_free_PciInfoList(info_list);
}
void hmp_quit(Monitor *mon, const QDict *qdict)