diff mbox series

hw/loongarch/virt.c: Fixes memory leak in ramName during loop iterations

Message ID 20240509132802.247147-1-rsamarnz@gmail.com (mailing list archive)
State New, archived
Headers show
Series hw/loongarch/virt.c: Fixes memory leak in ramName during loop iterations | expand

Commit Message

R.Samarasekara May 9, 2024, 1:28 p.m. UTC
This patch fixes a memory leak in the ramName variable within the
hw/loongarch/virt.c file. The leak occurs due to repeated calls to
g_strdup_printf within a loop, causing memory allocated for ramName on
previous iterations to be unfreed.

Signed-off-by: R.Samarasekara <rsamarnz@gmail.com>
---
 hw/loongarch/virt.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Philippe Mathieu-Daudé May 10, 2024, 8:40 a.m. UTC | #1
Hi R.

On 9/5/24 15:28, R.Samarasekara wrote:
> This patch fixes a memory leak in the ramName variable within the
> hw/loongarch/virt.c file. The leak occurs due to repeated calls to
> g_strdup_printf within a loop, causing memory allocated for ramName on
> previous iterations to be unfreed.
> 
> Signed-off-by: R.Samarasekara <rsamarnz@gmail.com>
> ---
>   hw/loongarch/virt.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
> index c0999878df..1fe02f8501 100644
> --- a/hw/loongarch/virt.c
> +++ b/hw/loongarch/virt.c
> @@ -954,6 +954,7 @@ static void loongarch_init(MachineState *machine)
>           fdt_add_memory_node(machine, phyAddr, numa_info[i].node_mem, i);
>           offset += numa_info[i].node_mem;
>           phyAddr += numa_info[i].node_mem;
> +        g_free(ramName);
>       }

This has been fixed recently in this commit:
https://gitlab.com/qemu-project/qemu/-/commit/54c52ec719

Regards,

Phil.
diff mbox series

Patch

diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index c0999878df..1fe02f8501 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -954,6 +954,7 @@  static void loongarch_init(MachineState *machine)
         fdt_add_memory_node(machine, phyAddr, numa_info[i].node_mem, i);
         offset += numa_info[i].node_mem;
         phyAddr += numa_info[i].node_mem;
+        g_free(ramName);
     }
 
     /* initialize device memory address space */