diff options
author | Song Gao <gaosong@loongson.cn> | 2024-05-07 10:22:39 +0800 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2024-05-13 09:03:37 +0300 |
commit | 7dbebba4a5e6e0cfdc8ea9e632cf594b15613202 (patch) | |
tree | c4a986141a7d24911cfc6b57e66cc63a1346119f /hw/loongarch | |
parent | 819f92ec3e875cffb9cb12fd222e2e6800c1a257 (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.c | 3 |
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); |