]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Properly free the xmlDocPtr when loading pool state
authorJán Tomko <jtomko@redhat.com>
Fri, 29 May 2015 13:06:14 +0000 (15:06 +0200)
committerJán Tomko <jtomko@redhat.com>
Fri, 29 May 2015 13:07:31 +0000 (15:07 +0200)
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)

src/conf/storage_conf.c

index 7857a5ee63d160b0adc741572db17ba5c80f0706..df536d4c6207fde67a7761e7958642f119e54990 100644 (file)
@@ -1894,7 +1894,7 @@ virStoragePoolLoadState(virStoragePoolObjListPtr pools,
 
  cleanup:
     VIR_FREE(stateFile);
-    xmlFree(xml);
+    xmlFreeDoc(xml);
     xmlXPathFreeContext(ctxt);
     return pool;