diff options
Diffstat (limited to 'src/lxml/extensions.pxi')
| -rw-r--r-- | src/lxml/extensions.pxi | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lxml/extensions.pxi b/src/lxml/extensions.pxi index 3c444c8d..00b05d32 100644 --- a/src/lxml/extensions.pxi +++ b/src/lxml/extensions.pxi @@ -363,8 +363,12 @@ cdef class _ExsltRegExp: return firstnode elif isinstance(firstnode, _Element): c_text = tree.xmlNodeGetContent((<_Element>firstnode)._c_node) - s = funicode(c_text) - tree.xmlFree(c_text) + if c_text is NULL: + python.PyErr_NoMemory() + try: + s = funicode(c_text) + finally: + tree.xmlFree(c_text) return s else: return str(firstnode) |
