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:
parent
0b0404bf84
commit
f46cee3742
8
hmp.c
8
hmp.c
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user