summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2016-05-14 08:10:16 +0100
committerJoe Watkins <krakjoe@php.net>2016-05-14 08:10:16 +0100
commitb165114013b690b338a83c606974540e0830c2bd (patch)
treeeb6b9bfe58726afceddf414846cb9b0b1024236f
parent1524e00ccc8d99885dae0a4567b8b45a2ff44ba2 (diff)
downloadphp-git-b165114013b690b338a83c606974540e0830c2bd.tar.gz
fix #72206 (xml_parser_create/xml_parser_free leaks mem)
-rw-r--r--NEWS2
-rw-r--r--ext/xml/xml.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index e9cc944bf3..d3cd2f5daf 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,8 @@ PHP NEWS
. Fixed bug #72193 (dns_get_record returns array containing elements of
type 'unknown'). (Laruence)
+- XML:
+ . Fixed #72206 (xml_parser_create/xml_parser_free leaks mem). (Joe)
26 May 2016 PHP 7.0.7
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index 6c5c9e39b2..d788b9b0b8 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -1573,9 +1573,10 @@ PHP_FUNCTION(xml_parser_free)
RETURN_FALSE;
}
- res = Z_RES(parser->index);
- ZVAL_UNDEF(&parser->index);
- zend_list_close(res);
+ if (zend_list_delete(Z_RES(parser->index)) == FAILURE) {
+ RETURN_FALSE;
+ }
+
RETURN_TRUE;
}
/* }}} */