qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 2/4] ppc: fix memory leak in spapr


From: Greg Kurz
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 2/4] ppc: fix memory leak in spapr_dt_drc()
Date: Wed, 17 Jul 2019 12:47:14 +0200

On Wed, 17 Jul 2019 03:20:01 -0500
Shivaprasad G Bhat <address@hidden> wrote:

> Leaking the drc_name while preparing the DT properties.
> Fixing that.
> 
> Also, remove the const qualifier from spapr_drc_name().
> 
> Signed-off-by: Shivaprasad G Bhat <address@hidden>
> ---
>  hw/ppc/spapr_drc.c |    7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
> index bacadfcac5..695a0b2285 100644
> --- a/hw/ppc/spapr_drc.c
> +++ b/hw/ppc/spapr_drc.c
> @@ -226,7 +226,7 @@ static uint32_t drc_set_unusable(SpaprDrc *drc)
>      return RTAS_OUT_SUCCESS;
>  }
>  
> -static const char *spapr_drc_name(SpaprDrc *drc)
> +static char *spapr_drc_name(SpaprDrc *drc)
>  {
>      SpaprDrcClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
>  
> @@ -827,6 +827,7 @@ int spapr_dt_drc(void *fdt, int offset, Object *owner, 
> uint32_t drc_type_mask)
>          Object *obj;
>          SpaprDrc *drc;
>          SpaprDrcClass *drck;
> +        char *drc_name = NULL;
>          uint32_t drc_index, drc_power_domain;
>  
>          if (!strstart(prop->type, "link<", NULL)) {
> @@ -856,8 +857,10 @@ int spapr_dt_drc(void *fdt, int offset, Object *owner, 
> uint32_t drc_type_mask)
>          g_array_append_val(drc_power_domains, drc_power_domain);
>  
>          /* ibm,drc-names */
> -        drc_names = g_string_append(drc_names, spapr_drc_name(drc));
> +        drc_name = spapr_drc_name(drc);
> +        drc_names = g_string_append(drc_names, drc_name);
>          drc_names = g_string_insert_len(drc_names, -1, "\0", 1);
> +        g_free(drc_name);
>  

This could even be called just after g_string_append(). No big deal.

Reviewed-by: Greg Kurz <address@hidden>

>          /* ibm,drc-types */
>          drc_types = g_string_append(drc_types, drck->typename);
> 
> 




reply via email to

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