[libvirt] [PATCH 3/4] virsh: free the formatting string when listing pool details

Ján Tomko jtomko at redhat.com
Tue Aug 27 13:06:17 UTC 2013


==23== 41 bytes in 1 blocks are definitely lost in loss record 626 of 727
==23==    by 0x4F0099F: virAsprintfInternal (virstring.c:358)
==23==    by 0x15D2C9: cmdPoolList (virsh-pool.c:1268)

https://bugzilla.redhat.com/show_bug.cgi?id=1001536
---
 tools/virsh-pool.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index 592b81f..3d3c61e 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1264,7 +1264,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
     /* Create the output template.  Each column is sized according to
      * the longest string.
      */
-    char *outputStr;
+    char *outputStr = NULL;
     ret = virAsprintf(&outputStr,
               "%%-%lus  %%-%lus  %%-%lus  %%-%lus  %%%lus  %%%lus  %%%lus\n",
               (unsigned long) nameStrLength,
@@ -1319,6 +1319,7 @@ asprintf_failure:
     functionReturn = false;
 
 cleanup:
+    VIR_FREE(outputStr);
     if (list && list->npools) {
         for (i = 0; i < list->npools; i++) {
             VIR_FREE(poolInfoTexts[i].state);
-- 
1.8.1.5




More information about the libvir-list mailing list