From: Rob Richards Date: Tue, 10 Jun 2003 22:24:54 +0000 (+0000) Subject: Fixed memleaks X-Git-Tag: RELEASE_1_0_2~323 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3128df0465f8a2ad2503812d80b34c68e062f75;p=php Fixed memleaks --- diff --git a/ext/dom/text.c b/ext/dom/text.c index 75b9c4e207..d9a0e0f665 100644 --- a/ext/dom/text.c +++ b/ext/dom/text.c @@ -82,12 +82,16 @@ Since: DOM Level 3 int dom_text_whole_text_read(dom_object *obj, zval **retval TSRMLS_DC) { xmlNodePtr node; - + xmlChar *wholetext; + node = obj->ptr; ALLOC_ZVAL(*retval); - ZVAL_STRING(*retval, xmlNodeListGetString(node->doc, node, 1), 1); - + wholetext = xmlNodeListGetString(node->doc, node, 1); + ZVAL_STRING(*retval, wholetext, 1); + + xmlFree(wholetext); + return SUCCESS; } @@ -129,6 +133,7 @@ PHP_FUNCTION(dom_text_split_text) length = xmlStrlen(cur); if (offset > length || offset < 0) { + xmlFree(cur); RETURN_FALSE; } @@ -139,6 +144,9 @@ PHP_FUNCTION(dom_text_split_text) xmlNodeSetContentLen(node, first, offset); nnode = xmlNewText(second); + + xmlFree(first); + xmlFree(second); nnode->type = XML_ELEMENT_NODE; xmlAddNextSibling(node, nnode);