This XPath causes a memory leak in the current libxml2 (version 2.7.7):
//nr:one/nr:/nr:two/*
It should be possible to reproduce it by calling the xpath1.c example
program like with these arguments:
xpath1 AnyFile.xml //nr:one/nr:/nr:two/*
This is the call stack:
The memory block (0x00D06B60) [size: 3 bytes] was allocated with malloc
0x00440619 - xmlstring.c#45
0x00425DD3 - xpath.c#9751
0x0042D7C6 - xpath.c#11228
0x0042E36A - xpath.c#11348
0x0042E70A - xpath.c#11387
0x00429B10 - xpath.c#10586
The leak is caused by the fact that CHECK_ERROR in xpath.c, line 11252,
simply returns and does not free the memory allocated to name in line 11228:
name = xmlXPathParseNCName(ctxt);
A fix should be fairly simple.
Ralf
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml