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: 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
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 ?


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

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

Thanks,
Laurent




reply via email to

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