]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Fix memory leaks in virStoragePoolDefParseSource
authorAlex Jia <ajia@redhat.com>
Wed, 9 May 2012 10:48:46 +0000 (18:48 +0800)
committerAlex Jia <ajia@redhat.com>
Thu, 10 May 2012 01:28:24 +0000 (09:28 +0800)
Detected by valgrind. Leaks are introduced in commit 122fa379.

src/conf/storage_conf.c: fix memory leaks.

How to reproduce?
$ make && make -C tests check TESTS=storagepoolxml2xmltest
$ cd tests && valgrind -v --leak-check=full ./storagepoolxml2xmltest

actual result:
==28571== LEAK SUMMARY:
==28571==    definitely lost: 40 bytes in 5 blocks
==28571==    indirectly lost: 0 bytes in 0 blocks
==28571==      possibly lost: 0 bytes in 0 blocks
==28571==    still reachable: 1,054 bytes in 21 blocks
==28571==         suppressed: 0 bytes in 0 blocks

Signed-off-by: Alex Jia <ajia@redhat.com>
src/conf/storage_conf.c

index 0b34f28554950f1e03030cdb96628c30df9958c8..188af6db6c3701bc555f19544c9585ea84b10c20 100644 (file)
@@ -465,6 +465,7 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
         }
     }
 
+    VIR_FREE(nodeset);
     source->initiator.iqn = virXPathString("string(./initiator/iqn/@name)", ctxt);
 
     nsource = virXPathNodeSet("./device", ctxt, &nodeset);