Re: [xml] [PATCH] XPath parsing QName conformance and memory leak fixes
- From: Daniel Veillard <veillard redhat com>
- To: "Martin (gzlist)" <gzlist googlemail com>
- Cc: xml gnome org
- Subject: Re: [xml] [PATCH] XPath parsing QName conformance and memory leak fixes
- Date: Mon, 1 Sep 2008 15:39:39 +0200
On Sat, Aug 30, 2008 at 04:49:17PM +0100, Martin (gzlist) wrote:
The XPath parsing code, as exposed through xmlXPathCtxtCompile etc,
has a couple of issues related to QName validity. Firstly,
xmlXPathParseQName accepts ":name" as a synonym for "name" rather than
treating it as an error. Secondly, xmlXPathCompFunctionCall has two
early-return-on-error points that can leak copied strings. I believe
these can be safely fixed (attached, fix_qname_and_leak.patch) though
there might be code somewhere that erroneously uses a leading colon
and would need changing to function properly.
In the process of investigating and writing this patch, also fixed the
build when DEBUG_STEP is defined, and used an evil pointer cast to
silence an unrelated warning in schematron (attached,
compiling_xpath_debug.patch), hacked in memory debug *Loc versions of
the four str(n)cpy functions in xmlstring (useful but not attached,
was hacky and changed public interfaces), and wrote various bits of
test code, the neatest of which works as a unit test (attached,
test_qname_and_leak.patch) - that's in python just as it was easy, not
because it's python specific.
Very cool, I think I understood all the changes and they look fine to
me. I just changed the python regression test to avoid any output by
default.
Applied and commited,
thanks a lot !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel veillard com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]