Thanks and pushed now.
----- Original Message -----
From: "Eric Blake" <eblake(a)redhat.com>
To: "Alex Jia" <ajia(a)redhat.com>
Cc: libvir-list(a)redhat.com
Sent: Wednesday, May 9, 2012 11:03:50 PM
Subject: Re: [libvirt] [PATCHv2] conf: Fix memory leaks in virStoragePoolDefParseSource
On 05/09/2012 04:49 AM, Alex Jia wrote:
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(a)redhat.com>
---
src/conf/storage_conf.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 0b34f28..188af6d 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -465,6 +465,7 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
}
}
+ VIR_FREE(nodeset);
source->initiator.iqn = virXPathString("string(./initiator/iqn/@name)",
ctxt);
nsource = virXPathNodeSet("./device", ctxt, &nodeset);
ACK; this properly frees the old use of nodeset before reusing it for a
new use.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org