Hi Balaton,

Thanks for taking care of this ...

On 11/1/25 22:22, BALATON Zoltan wrote:
Commit 9099b430a4 introduced an early return that caused a leak of a
GString. Allocate it later to avoid the leak.


I think we also want to mention:

Reported-by: Peter Maydell <[email protected]>

Fixes: 9099b430a4 (hw/ppc/pegasos2: Change device tree generation)
Resolves: Coverity CID 1642027
Signed-off-by: BALATON Zoltan <[email protected]>
---
  hw/ppc/pegasos.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/ppc/pegasos.c b/hw/ppc/pegasos.c
index 3a498edd16..8ce185de3e 100644
--- a/hw/ppc/pegasos.c
+++ b/hw/ppc/pegasos.c
@@ -847,7 +847,7 @@ static struct {
  static void add_pci_device(PCIBus *bus, PCIDevice *d, void *opaque)
  {
      FDTInfo *fi = opaque;
-    GString *node = g_string_new(NULL);
+    GString *node;

Curious to know if there were any technical reasons for not using g_autoptr which Peter initially suggested ?

Anyways, it fixes the leak, so

Reviewed-by: Harsh Prateek Bora <[email protected]>


      uint32_t cells[(PCI_NUM_REGIONS + 1) * 5];
      int i, j;
      const char *name = NULL;
@@ -871,6 +871,7 @@ static void add_pci_device(PCIBus *bus, PCIDevice *d, void 
*opaque)
              break;
          }
      }
+    node = g_string_new(NULL);
      g_string_printf(node, "%s/%s@%x", fi->path, (name ?: pn),
                      PCI_SLOT(d->devfn));
      if (PCI_FUNC(d->devfn)) {

Reply via email to