From: Ján Tomko Date: Fri, 29 May 2015 13:06:14 +0000 (+0200) Subject: Properly free the xmlDocPtr when loading pool state X-Git-Tag: v1.2.16~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5aa72904a7a2bbe34ba4090592c1699ae2706796;p=thirdparty%2Flibvirt.git Properly free the xmlDocPtr when loading pool state Use xmlFreeDoc instead of plain xmlFree. 4 bytes in 1 blocks are definitely lost in loss record 9 of 1,084 at 0x4C29F80: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x70730D6: xmlStrndup (in /usr/lib64/libxml2.so.2.9.2) by 0x701E3DC: xmlNewDoc (in /usr/lib64/libxml2.so.2.9.2) by 0x70C39F8: xmlSAX2StartDocument (in /usr/lib64/libxml2.so.2.9.2) by 0x7017245: xmlParseDocument (in /usr/lib64/libxml2.so.2.9.2) by 0x7017606: xmlDoRead (in /usr/lib64/libxml2.so.2.9.2) by 0x5309DAD: virXMLParseHelper (virxml.c:742) by 0x5367584: virStoragePoolLoadState (storage_conf.c:1863) --- diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 7857a5ee63..df536d4c62 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1894,7 +1894,7 @@ virStoragePoolLoadState(virStoragePoolObjListPtr pools, cleanup: VIR_FREE(stateFile); - xmlFree(xml); + xmlFreeDoc(xml); xmlXPathFreeContext(ctxt); return pool;