On 11/3/25 18:03, BALATON Zoltan wrote:
On Mon, 3 Nov 2025, Harsh Prateek Bora wrote:
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]>

You can add it on merge.

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 ?

Just thought it's simpler and more straight forward this way and saves a bit of unnecessary complication. We don't even allocate the string now when we exit, with g_autoptr it might do some additional operations unnecessarily. As this function otherwise does not have multiple exit points just one free at the end works.

Queued, thanks.

Reply via email to