[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 42/42] microblaze: fix memory leak
From: |
Michael Tokarev |
Subject: |
[Qemu-devel] [PULL 42/42] microblaze: fix memory leak |
Date: |
Thu, 30 Apr 2015 08:08:55 +0300 |
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.
Signed-off-by: Gonglei <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
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 38c59db..4c44317 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);
}
--
2.1.4
- [Qemu-devel] [PULL 18/42] util: Remove unused functions, (continued)
- [Qemu-devel] [PULL 18/42] util: Remove unused functions, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 38/42] target-mips: fix memory leak, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 13/42] qemu-options: trivial spelling fix (messsage), Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 19/42] arm: cpu.h: Remove unused typdefs, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 40/42] kvm: Silence warning from valgrind, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 09/42] range: remove useless inclusions, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 01/42] tpm: Cast 64bit variables to int when used in DPRINTF, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 16/42] monitor: Remove unused functions, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 25/42] microblaze: mmu: Delete flip_um fn prototype, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 26/42] microblaze: cpu: Remote unused cpu_get_pc, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 42/42] microblaze: fix memory leak,
Michael Tokarev <=
- [Qemu-devel] [PULL 41/42] tcg: Delete unused cpu_pc_from_tb(), Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 17/42] usb: Remove unused functions, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 35/42] linux-user/elfload: use QTAILQ_FOREACH instead of open-coding it, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 31/42] cpus: use first_cpu macro instead of QTAILQ_FIRST(&cpus), Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 32/42] input: remove unused mouse_handlers list, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 24/42] defconfigs: Piggyback microblazeel on microblaze, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 29/42] microblaze: cpu: Renumber EXCP_* constants to close gap, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 39/42] vhost-user: remove superfluous '\n' around error_report(), Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 37/42] qmp-commands: Fix typo, Michael Tokarev, 2015/04/30
- [Qemu-devel] [PULL 06/42] ui/console : remove 'struct' from 'typedef struct' type, Michael Tokarev, 2015/04/30