[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