From: Michal Privoznik Date: Thu, 3 Sep 2015 12:37:14 +0000 (+0200) Subject: vshInit: Don't leak @histsize_env X-Git-Tag: v1.2.20-rc1~131 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fdd873f1ad8995d8b36981a5936aafdc3f1df76;p=thirdparty%2Flibvirt.git vshInit: Don't leak @histsize_env Caller is responsible for freeing the result of virStringJoin() when no longer needed: ==10701== 1 bytes in 1 blocks are definitely lost in loss record 1 of 806 ==10701== at 0x4C29F80: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==10701== by 0xAADB679: strdup (in /lib64/libc-2.20.so) ==10701== by 0x4F18655: virStrdup (virstring.c:726) ==10701== by 0x4F175AF: virStringJoin (virstring.c:165) ==10701== by 0x131D4D: vshReadlineInit (vsh.c:2572) ==10701== by 0x1322DF: vshInit (vsh.c:2736) ==10701== by 0x1347C1: main (virsh.c:907) Signed-off-by: Michal Privoznik --- diff --git a/tools/vsh.c b/tools/vsh.c index 1a5b6e8efe..54c4614a67 100644 --- a/tools/vsh.c +++ b/tools/vsh.c @@ -2552,8 +2552,8 @@ vshReadlineInit(vshControl *ctl) char *name_capitalized = NULL; int max_history = 500; int ret = -1; + char *histsize_env = NULL; const char *histsize_str = NULL; - const char *histsize_env = NULL; const char *strings[] = { name_capitalized, "HISTSIZE", @@ -2613,6 +2613,7 @@ vshReadlineInit(vshControl *ctl) cleanup: VIR_FREE(userdir); VIR_FREE(name_capitalized); + VIR_FREE(histsize_env); return ret; }