[xml] Possible memory leak in xmlNodeDump()

        I'm experiencing a memory leak when using xmlNodeDump() from
libxml 2.6.7. The following short snippet recreates the problem:


#include <libxml/tree.h>
#include <libxml/parser.h>

int main(void){
  xmlDocPtr doc = xmlParseFile("test.xml");
  xmlBufferPtr buff = xmlBufferCreate();


The problem seems to be caused because there's a call to xmlInitParser()
in xmlNodeDump(), but no corresponding call to xmlCleanupParser(). The
attached patch fixes the problem by adding a call to xmlCleanupParser().

Removing the call to xmlInitParser() would probably also fix it, but I'm
not 100% sure if it's needed or not. (It wasn't present in v2.5.3)

Or maybe I'm using xmlNodeDump() incorrectly? Is there some other cleanup
function I should be calling?



Attachment: tree.c.patch
Description: Text document

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]