hmp: Fix freeing of PciInfoList
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Wed, 11 Jan 2012 15:51:52 +0000 (10:51 -0500)
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Fri, 13 Jan 2012 10:37:00 +0000 (10:37 +0000)
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>
hmp.c

diff --git a/hmp.c b/hmp.c
index e7659d5ffcac41462b8205ea6013e94f8b814dc0..fd4f7552320a52cf300a5659475ad5c03722a9cb 100644 (file)
--- 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)