aboutsummaryrefslogtreecommitdiff
path: root/hw/loongarch
diff options
context:
space:
mode:
authorSong Gao <gaosong@loongson.cn>2024-05-07 10:22:39 +0800
committerMichael Tokarev <mjt@tls.msk.ru>2024-05-13 09:03:37 +0300
commit7dbebba4a5e6e0cfdc8ea9e632cf594b15613202 (patch)
treec4a986141a7d24911cfc6b57e66cc63a1346119f /hw/loongarch
parent819f92ec3e875cffb9cb12fd222e2e6800c1a257 (diff)
hw/loongarch/virt: Fix memory leak
The char pointer 'ramName' point to a block of memory, but never free it. Use 'g_autofree' to automatically free it. Resolves: Coverity CID 1544773 Fixes: 0cf1478d6 ("hw/loongarch: Add numa support") Signed-off-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20240507022239.3113987-1-gaosong@loongson.cn> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> (cherry picked from commit 54c52ec719fb8c83bbde54cb87b58688ab27c166) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> (Mjt: context fixup in hw/loongarch/virt.c due to missing-in-8.2 v9.0.0-266-gd771ca1c10 "hw/loongarch: Move boot functions to boot.c")
Diffstat (limited to 'hw/loongarch')
-rw-r--r--hw/loongarch/virt.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 4b7dc67a2d..713ba26dff 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -749,7 +749,6 @@ static void loongarch_init(MachineState *machine)
const CPUArchIdList *possible_cpus;
MachineClass *mc = MACHINE_GET_CLASS(machine);
CPUState *cpu;
- char *ramName = NULL;
struct loaderparams loaderparams = { };
if (!cpu_model) {
@@ -800,7 +799,7 @@ static void loongarch_init(MachineState *machine)
for (i = 1; i < nb_numa_nodes; i++) {
MemoryRegion *nodemem = g_new(MemoryRegion, 1);
- ramName = g_strdup_printf("loongarch.node%d.ram", i);
+ g_autofree char *ramName = g_strdup_printf("loongarch.node%d.ram", i);
memory_region_init_alias(nodemem, NULL, ramName, machine->ram,
offset, numa_info[i].node_mem);
memory_region_add_subregion(address_space_mem, phyAddr, nodemem);