[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PATCH v2] microblaze: fix memory leak
From: |
arei.gonglei |
Subject: |
[Qemu-trivial] [PATCH v2] microblaze: fix memory leak |
Date: |
Thu, 5 Mar 2015 11:05:20 +0800 |
From: Gonglei <address@hidden>
When not assign a -dtb argument, the variable dtb_filename
storage returned from qemu_find_file(), which should be freed
after use. Alternatively we define a local variable filename,
with 'char *' type, free after use.
Cc: Michael Tokarev <address@hidden>
Cc: Edgar E. Iglesias <address@hidden>
Signed-off-by: Gonglei <address@hidden>
---
v2: fix a complier error.
---
hw/microblaze/boot.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
index a2843cd..352ccb1 100644
--- a/hw/microblaze/boot.c
+++ b/hw/microblaze/boot.c
@@ -113,15 +113,15 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr
ddr_base,
const char *kernel_filename;
const char *kernel_cmdline;
const char *dtb_arg;
+ char *filename = NULL;
machine_opts = qemu_get_machine_opts();
kernel_filename = qemu_opt_get(machine_opts, "kernel");
kernel_cmdline = qemu_opt_get(machine_opts, "append");
dtb_arg = qemu_opt_get(machine_opts, "dtb");
- if (dtb_arg) { /* Preference a -dtb argument */
- dtb_filename = dtb_arg;
- } else { /* default to pcbios dtb as passed by machine_init */
- dtb_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename);
+ /* default to pcbios dtb as passed by machine_init */
+ if (!dtb_arg) {
+ filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename);
}
boot_info.machine_cpu_reset = machine_cpu_reset;
@@ -203,7 +203,8 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr
ddr_base,
boot_info.initrd_start,
boot_info.initrd_end,
kernel_cmdline,
- dtb_filename);
+ /* Preference a -dtb argument */
+ dtb_arg ? dtb_arg : filename);
}
-
+ g_free(filename);
}
--
1.7.12.4
- [Qemu-trivial] [PATCH v2] microblaze: fix memory leak,
arei.gonglei <=
Re: [Qemu-trivial] [Qemu-devel] [PATCH v2] microblaze: fix memory leak, Max Filippov, 2015/03/27