diff mbox

vl: fix memory leak spotted by valgrind

Message ID 1432536445-12760-1-git-send-email-zhaoshenglong@huawei.com
State New
Headers show

Commit Message

Shannon Zhao May 25, 2015, 6:47 a.m. UTC
From: Shannon Zhao <shannon.zhao@linaro.org>

valgrind complains about:
==9276== 13 bytes in 1 blocks are definitely lost in loss record 1,046 of 3,673
==9276==    at 0x4C2845D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9276==    by 0x2EAFBB: malloc_and_trace (vl.c:2556)
==9276==    by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
==9276==    by 0x4A28BD: addr_to_string (vnc.c:123)
==9276==    by 0x4A29AD: vnc_socket_local_addr (vnc.c:139)
==9276==    by 0x4A9AFE: vnc_display_local_addr (vnc.c:3240)
==9276==    by 0x2EF4FE: main (vl.c:4321)

Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
 vl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Paolo Bonzini May 25, 2015, 1:08 p.m. UTC | #1
On 25/05/2015 08:47, Shannon Zhao wrote:
> From: Shannon Zhao <shannon.zhao@linaro.org>
> 
> valgrind complains about:
> ==9276== 13 bytes in 1 blocks are definitely lost in loss record 1,046 of 3,673
> ==9276==    at 0x4C2845D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==9276==    by 0x2EAFBB: malloc_and_trace (vl.c:2556)
> ==9276==    by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
> ==9276==    by 0x4A28BD: addr_to_string (vnc.c:123)
> ==9276==    by 0x4A29AD: vnc_socket_local_addr (vnc.c:139)
> ==9276==    by 0x4A9AFE: vnc_display_local_addr (vnc.c:3240)
> ==9276==    by 0x2EF4FE: main (vl.c:4321)
> 
> Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
> ---
>  vl.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 74c2681..9539e7b 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4295,8 +4295,9 @@ int main(int argc, char **argv, char **envp)
>      /* init remote displays */
>      qemu_opts_foreach(qemu_find_opts("vnc"), vnc_init_func, NULL, 0);
>      if (show_vnc_port) {
> -        printf("VNC server running on `%s'\n",
> -               vnc_display_local_addr("default"));
> +        char *ret = vnc_display_local_addr("default");
> +        printf("VNC server running on `%s'\n", ret);
> +        g_free(ret);
>      }
>  #endif
>  #ifdef CONFIG_SPICE
> 

Thanks, queued for 2.4.
Michael Tokarev May 28, 2015, 12:05 p.m. UTC | #2
Applied to -trivial, thanks!

/mjt
diff mbox

Patch

diff --git a/vl.c b/vl.c
index 74c2681..9539e7b 100644
--- a/vl.c
+++ b/vl.c
@@ -4295,8 +4295,9 @@  int main(int argc, char **argv, char **envp)
     /* init remote displays */
     qemu_opts_foreach(qemu_find_opts("vnc"), vnc_init_func, NULL, 0);
     if (show_vnc_port) {
-        printf("VNC server running on `%s'\n",
-               vnc_display_local_addr("default"));
+        char *ret = vnc_display_local_addr("default");
+        printf("VNC server running on `%s'\n", ret);
+        g_free(ret);
     }
 #endif
 #ifdef CONFIG_SPICE