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>
This commit is contained in:
Stefan Berger 2012-01-11 10:51:52 -05:00 committed by Stefan Hajnoczi
parent 0b0404bf84
commit f46cee3742

8
hmp.c
View File

@ -486,17 +486,17 @@ static void hmp_info_pci_device(Monitor *mon, const PciDeviceInfo *dev)
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 @@ void hmp_info_pci(Monitor *mon)
}
}
qapi_free_PciInfoList(info);
qapi_free_PciInfoList(info_list);
}
void hmp_quit(Monitor *mon, const QDict *qdict)