qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] vl: fix memory leak in configure_accelerators


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] vl: fix memory leak in configure_accelerators
Date: Wed, 8 Jan 2020 15:56:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 1/8/20 12:42 PM, address@hidden wrote:
From: Chen Qun <address@hidden>

The accel_list forgot to free, the asan output:

Direct leak of 16 byte(s) in 1 object(s) allocated from:
     #0 0xffff919331cb in __interceptor_malloc (/lib64/libasan.so.4+0xd31cb)
     #1 0xffff913f7163 in g_malloc (/lib64/libglib-2.0.so.0+0x57163)
     #2 0xffff91413d9b in g_strsplit (/lib64/libglib-2.0.so.0+0x73d9b)
     #3 0xaaab42fb58e7 in configure_accelerators /qemu/vl.c:2777
     #4 0xaaab42fb58e7 in main /qemu/vl.c:4121
     #5 0xffff8f9b0b9f in __libc_start_main (/lib64/libc.so.6+0x20b9f)
     #6 0xaaab42fc1dab  
(/qemu/build/aarch64-softmmu/qemu-system-aarch64+0x8b1dab)

Indirect leak of 4 byte(s) in 1 object(s) allocated from:
     #0 0xffff919331cb in __interceptor_malloc (/lib64/libasan.so.4+0xd31cb)
     #1 0xffff913f7163 in g_malloc (/lib64/libglib-2.0.so.0+0x57163)
     #2 0xffff9141243b in g_strdup (/lib64/libglib-2.0.so.0+0x7243b)
     #3 0xffff91413e6f in g_strsplit (/lib64/libglib-2.0.so.0+0x73e6f)
     #4 0xaaab42fb58e7 in configure_accelerators /qemu/vl.c:2777
     #5 0xaaab42fb58e7 in main /qemu/vl.c:4121
     #6 0xffff8f9b0b9f in __libc_start_main (/lib64/libc.so.6+0x20b9f)
     #7 0xaaab42fc1dab  
(/qemu/build/aarch64-softmmu/qemu-system-aarch64+0x8b1dab)

Reported-by: Euler Robot <address@hidden>
Signed-off-by: Chen Qun <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

---
  vl.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/vl.c b/vl.c
index 86474a55c9..035a24e52b 100644
--- a/vl.c
+++ b/vl.c
@@ -2788,6 +2788,7 @@ static void configure_accelerators(const char *progname)
                  error_report("invalid accelerator %s", *tmp);
              }
          }
+        g_strfreev(accel_list);
      } else {
          if (accel != NULL) {
              error_report("The -accel and \"-machine accel=\" options are 
incompatible");





reply via email to

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