[Top][All Lists]

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

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

From: Laurent Vivier
Subject: Re: [PATCH] macfb: fix a memory leak (CID 1465231)
Date: Fri, 5 Nov 2021 19:32:43 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0

Le 05/11/2021 à 18:01, Peter Maydell a écrit :
On Fri, 5 Nov 2021 at 16:52, Laurent Vivier <laurent@vivier.eu> wrote:

Rewrite the function using g_string_append_printf() rather than

Fixes: df8abbbadf74 ("macfb: add common monitor modes supported by the MacOS toolbox 
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 

  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 ?

Not at all. Perhaps it's even better like that as we have lower resolutions 

It was done like that to be able to pass list set to NULL (first parameter must 
not be NULL).


reply via email to

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