All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-trivial] [PATCH v2] microblaze: fix memory leak
@ 2015-03-05  3:05 ` arei.gonglei
  0 siblings, 0 replies; 20+ messages in thread
From: arei.gonglei @ 2015-03-05  3:05 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, Edgar E. Iglesias, Gonglei, Michael Tokarev

From: Gonglei <arei.gonglei@huawei.com>

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 <mjt@tls.msk.ru>
Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
---
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




^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-04-29 17:18 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05  3:05 [Qemu-trivial] [PATCH v2] microblaze: fix memory leak arei.gonglei
2015-03-05  3:05 ` [Qemu-devel] " arei.gonglei
2015-03-17  7:15 ` [Qemu-trivial] " Gonglei
2015-03-17  7:15   ` [Qemu-devel] " Gonglei
2015-03-28  2:37   ` [Qemu-trivial] " Gonglei
2015-03-28  2:37     ` [Qemu-devel] " Gonglei
2015-03-28  7:31     ` [Qemu-trivial] " Edgar E. Iglesias
2015-03-28  7:31       ` [Qemu-devel] " Edgar E. Iglesias
2015-03-28  7:46       ` [Qemu-trivial] " Gonglei
2015-03-28  7:46         ` [Qemu-devel] " Gonglei
2015-03-29 17:09         ` [Qemu-trivial] " Michael Tokarev
2015-03-29 17:09           ` [Qemu-devel] " Michael Tokarev
2015-04-28  9:27           ` [Qemu-trivial] " Gonglei
2015-04-28  9:27             ` [Qemu-devel] " Gonglei
2015-03-28  2:55 ` [Qemu-trivial] " Max Filippov
2015-03-28  2:55   ` Max Filippov
2015-04-29 17:10 ` [Qemu-trivial] " Peter Crosthwaite
2015-04-29 17:10   ` Peter Crosthwaite
2015-04-29 17:17 ` [Qemu-trivial] " Michael Tokarev
2015-04-29 17:17   ` [Qemu-devel] " Michael Tokarev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.