qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/3] hw/machine: Free old values of string prope


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH 3/3] hw/machine: Free old values of string properties
Date: Sun, 01 Jun 2014 11:25:57 +0300

On Fri, 2014-05-30 at 17:02 -0300, Eduardo Habkost wrote:
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
> Cc: Marcel Apfelbaum <address@hidden>
> Cc: Andreas Färber <address@hidden>
> ---
>  hw/core/machine.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index cbba679..df612bb 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -24,6 +24,7 @@ static void machine_set_accel(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->accel);
I am not sure if in QMP is not caller's responsibility to free the input string.
If I think about it, I ask an object to set "my" string and it deletes it :(...
Same for the others.

Added Markus and Luiz, maybe they have an opinion on that.
Thanks,
Marcel
 
>      ms->accel = g_strdup(value);
>  }
>  
> @@ -79,6 +80,7 @@ static void machine_set_kernel(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->kernel_filename);
>      ms->kernel_filename = g_strdup(value);
>  }
>  
> @@ -93,6 +95,7 @@ static void machine_set_initrd(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->initrd_filename);
>      ms->initrd_filename = g_strdup(value);
>  }
>  
> @@ -107,6 +110,7 @@ static void machine_set_append(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->kernel_cmdline);
>      ms->kernel_cmdline = g_strdup(value);
>  }
>  
> @@ -121,6 +125,7 @@ static void machine_set_dtb(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->dtb);
>      ms->dtb = g_strdup(value);
>  }
>  
> @@ -135,6 +140,7 @@ static void machine_set_dumpdtb(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->dumpdtb);
>      ms->dumpdtb = g_strdup(value);
>  }
>  
> @@ -176,6 +182,7 @@ static void machine_set_dt_compatible(Object *obj, const 
> char *value, Error **er
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->dt_compatible);
>      ms->dt_compatible = g_strdup(value);
>  }
>  
> @@ -232,6 +239,7 @@ static void machine_set_firmware(Object *obj, const char 
> *value, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
>  
> +    g_free(ms->firmware);
>      ms->firmware = g_strdup(value);
>  }
>  






reply via email to

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