Skip to contentSkip to conversation

hmp: Fix freeing of PciInfoList

PATCH Applied Stefan Berger 2 participants 2 messages Jan 11, 2012 – Jan 12, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hmp: Fix freeing of PciInfoList

Remember the original PciInfoList in info_list and use the info variable to traverse the list.

---
 hmp.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
hmp.c +4 -4
Index: qemu-git.pt/hmp.c
===================================================================
@@ -486,17 +486,17 @@ static void hmp_info_pci_device(Monitor
 
 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_info_tpm(Monitor *mon)
#1 lore raw
Quoted 8 lines · Stefan Berger

Remember the original PciInfoList in info_list and use the info variable to traverse the list.

---
 hmp.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Thanks, applied to the trivial patches tree but see below:
https://github.com/stefanha/qemu/commits/trivial-patches

Your patch seems to use two columns instead of just one column for '-'/'+'/' '. This confused both git-am(1) and patch(1). Perhaps you can figure out why your patch was generated like this? It reminds me of diff3 where there are two columns because it compares file A and B against a common ancestor file.

hmp.c static void hmp_info_pci_device(Monitor · line 489

Quoted 10 lines

Index: qemu-git.pt/hmp.c
===================================================================

hmp.c +1 -1
@@ -486,17 +486,17 @@ static void hmp_info_pci_device(Monitor
 
 void hmp_info_pci(Monitor *mon)
 {
-    PciInfoList *info;
+    PciInfoList *info_list, info;

Missing '*' to make info a pointer too. Fails to build, I fixed this when merging so don't worry about it.

Stefan