[Lxml-checkins] r49402 - lxml/trunk/src/lxml
scoder at codespeak.net
scoder at codespeak.net
Wed Dec 5 19:31:51 CET 2007
Author: scoder
Date: Wed Dec 5 19:31:51 2007
New Revision: 49402
Modified:
lxml/trunk/src/lxml/parsertarget.pxi
Log:
fix: memory leak in target parser
Modified: lxml/trunk/src/lxml/parsertarget.pxi
==============================================================================
--- lxml/trunk/src/lxml/parsertarget.pxi (original)
+++ lxml/trunk/src/lxml/parsertarget.pxi Wed Dec 5 19:31:51 2007
@@ -115,5 +115,14 @@
cdef xmlDoc* _handleParseResultDoc(self, _BaseParser parser,
xmlDoc* result, filename) except NULL:
+ if result is not NULL and result._private is NULL:
+ # no _Document proxy => orphen
+ tree.xmlFreeDoc(result)
+ if self._c_ctxt.myDoc is not NULL and \
+ self._c_ctxt.myDoc is not result and \
+ self._c_ctxt.myDoc._private is NULL:
+ # no _Document proxy => orphen
+ tree.xmlFreeDoc(self._c_ctxt.myDoc)
+ self._c_ctxt.myDoc = NULL
self._raise_if_stored()
raise _TargetParserResult(self._python_target.close())
More information about the lxml-checkins
mailing list