diff options
author | Stefan Berger <stefanb@linux.vnet.ibm.com> | 2012-01-11 10:51:52 -0500 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> | 2012-01-13 10:37:00 +0000 |
commit | f46cee374218dc5ebda3e7aa6996ef7f1b90eb7c (patch) | |
tree | 62e0ba9d6092e4fb66393048de340502c50c8200 | |
parent | 0b0404bf84432f0ee74840d674b93bacee7eee68 (diff) | |
download | hqemu-f46cee374218dc5ebda3e7aa6996ef7f1b90eb7c.zip hqemu-f46cee374218dc5ebda3e7aa6996ef7f1b90eb7c.tar.gz |
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>
-rw-r--r-- | hmp.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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) |