Patchwork hmp: Fix freeing of PciInfoList

login
register
mail settings
Submitter Stefan Berger
Date Jan. 11, 2012, 3:51 p.m.
Message ID <4F0DB018.5080302@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/135571/
State New
Headers show

Comments

Stefan Berger - Jan. 11, 2012, 3:51 p.m.
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>

---
  hmp.c |    8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
Stefan Hajnoczi - Jan. 12, 2012, 1:35 p.m.
On Wed, Jan 11, 2012 at 10:51:52AM -0500, Stefan Berger wrote:
> 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>
> 
> ---
>  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.

> Index: qemu-git.pt/hmp.c
> ===================================================================
> --- qemu-git.pt.orig/hmp.c
> +++ 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;

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

Stefan

Patch

Index: qemu-git.pt/hmp.c
===================================================================
--- qemu-git.pt.orig/hmp.c
+++ 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)