qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH v2] microblaze: fix memory leak


From: Peter Crosthwaite
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v2] microblaze: fix memory leak
Date: Wed, 29 Apr 2015 10:10:28 -0700

On Wed, Mar 4, 2015 at 7:05 PM,  <address@hidden> wrote:
> 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>

Reviewed-by: Peter Crosthwaite <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
>
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]