qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] macfb: fix a memory leak (CID 1465231)


From: Peter Maydell
Subject: Re: [PATCH] macfb: fix a memory leak (CID 1465231)
Date: Fri, 5 Nov 2021 17:01:48 +0000

On Fri, 5 Nov 2021 at 16:52, Laurent Vivier <laurent@vivier.eu> wrote:
>
> Rewrite the function using g_string_append_printf() rather than
> g_strdup_printf()/g_strconcat().
>
> Fixes: df8abbbadf74 ("macfb: add common monitor modes supported by the MacOS 
> toolbox ROM")
> Cc: mark.cave-ayland@ilande.co.uk
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
>  hw/display/macfb.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/hw/display/macfb.c b/hw/display/macfb.c
> index 4b352eb89c3f..277d3e663331 100644
> --- a/hw/display/macfb.c
> +++ b/hw/display/macfb.c
> @@ -440,21 +440,18 @@ static MacFbMode *macfb_find_mode(MacfbDisplayType 
> display_type,
>
>  static gchar *macfb_mode_list(void)
>  {
> -    gchar *list = NULL;
> -    gchar *mode;
> +    GString *list = g_string_new("");
>      MacFbMode *macfb_mode;
>      int i;
>
>      for (i = 0; i < ARRAY_SIZE(macfb_mode_table); i++) {
>          macfb_mode = &macfb_mode_table[i];
>
> -        mode = g_strdup_printf("    %dx%dx%d\n", macfb_mode->width,
> +        g_string_append_printf(list, "    %dx%dx%d\n", macfb_mode->width,
>                                 macfb_mode->height, macfb_mode->depth);
> -        list = g_strconcat(mode, list, NULL);
> -        g_free(mode);
>      }
>
> -    return list;
> +    return g_string_free(list, FALSE);

This reverses the order compared to the old code (which prepends
'mode' to the 'list' string it is building up). Does that matter ?

-- PMM



reply via email to

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