Commit: 864575251ac85176b763a56b35c2da298e0d0fa7 Author: Felipe Pena <felipe...@gmail.com> Sat, 14 Jul 2012 13:13:31 -0300 Parents: 02b8362ec231edb5be2a4ff633ad609c70713131 Branches: PHP-5.3 PHP-5.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=864575251ac85176b763a56b35c2da298e0d0fa7 Log: - Fixed memory leak when extending DOMXPath Changed paths: M ext/dom/xpath.c Diff: diff --git a/ext/dom/xpath.c b/ext/dom/xpath.c index de7b1fa..b5a31d7 100644 --- a/ext/dom/xpath.c +++ b/ext/dom/xpath.c @@ -321,6 +321,7 @@ int dom_xpath_document_read(dom_object *obj, zval **retval TSRMLS_DC) xmlDoc *docp = NULL; xmlXPathContextPtr ctx; int ret; + zval *tmp; ctx = (xmlXPathContextPtr) obj->ptr; @@ -329,10 +330,15 @@ int dom_xpath_document_read(dom_object *obj, zval **retval TSRMLS_DC) } ALLOC_ZVAL(*retval); + tmp = *retval; if (NULL == (*retval = php_dom_create_object((xmlNodePtr) docp, &ret, NULL, *retval, obj TSRMLS_CC))) { + FREE_ZVAL(tmp); php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); return FAILURE; } + if (tmp != *retval) { + FREE_ZVAL(tmp); + } return SUCCESS; } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php