summary refs log tree commit diff stats
path: root/hmp.c
diff options
context:
space:
mode:
authorStefan Berger <stefanb@linux.vnet.ibm.com>2012-01-11 10:51:52 -0500
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>2012-01-13 10:37:00 +0000
commitf46cee374218dc5ebda3e7aa6996ef7f1b90eb7c (patch)
tree62e0ba9d6092e4fb66393048de340502c50c8200 /hmp.c
parent0b0404bf84432f0ee74840d674b93bacee7eee68 (diff)
downloadfocaccia-qemu-f46cee374218dc5ebda3e7aa6996ef7f1b90eb7c.tar.gz
focaccia-qemu-f46cee374218dc5ebda3e7aa6996ef7f1b90eb7c.zip
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>
Diffstat (limited to 'hmp.c')
-rw-r--r--hmp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hmp.c b/hmp.c
index e7659d5ffc..fd4f755232 100644
--- a/hmp.c
+++ b/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)