]> xenbits.xensource.com Git - people/dariof/libvirt.git/commitdiff
Resolve valgrind error in virStorageBackendCreateQemuImgCmd()
authorJohn Ferlan <jferlan@redhat.com>
Fri, 28 Jun 2013 16:18:01 +0000 (12:18 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Sat, 29 Jun 2013 09:54:11 +0000 (05:54 -0400)
Commit id '53d5967c' introduced the following:

TEST: storagevolxml2argvtest
      ..............                           14  OK
==25636== 358 (264 direct, 94 indirect) bytes in 1 blocks are definitely lost in loss record 67 of 75
==25636==    at 0x4A06B6F: calloc (vg_replace_malloc.c:593)
==25636==    by 0x4C95791: virAlloc (viralloc.c:124)
==25636==    by 0x4CA0BB4: virCommandNewArgs (vircommand.c:805)
==25636==    by 0x4CA0C88: virCommandNew (vircommand.c:789)
==25636==    by 0x408602: virStorageBackendCreateQemuImgCmd (storage_backend.c:849)
==25636==    by 0x405427: testCompareXMLToArgvHelper (storagevolxml2argvtest.c:61)
==25636==    by 0x4064DF: virtTestRun (testutils.c:158)
==25636==    by 0x40516F: mymain (storagevolxml2argvtest.c:195)
==25636==    by 0x406B1A: virtTestMain (testutils.c:722)
==25636==    by 0x37C1021A04: (below main) (libc-start.c:225)
==25636==
PASS: storagevolxml2argvtest

src/storage/storage_backend.c

index ae25c8974c61160d7f5015eb79099e1b8aab6a0e..9a3bcf8b6128521c7d417e60762fcbc036b6e344 100644 (file)
@@ -865,8 +865,10 @@ virStorageBackendCreateQemuImgCmd(virConnectPtr conn,
                                                do_encryption, preallocate,
                                                vol->target.format,
                                                vol->target.compat,
-                                               vol->target.features) < 0)
+                                               vol->target.features) < 0) {
+            virCommandFree(cmd);
             return NULL;
+        }
         if (opts)
             virCommandAddArgList(cmd, "-o", opts, NULL);
         VIR_FREE(opts);