]> granicus.if.org Git - php/commitdiff
fix #72206 (xml_parser_create/xml_parser_free leaks mem)
authorJoe Watkins <krakjoe@php.net>
Sat, 14 May 2016 07:10:16 +0000 (08:10 +0100)
committerJoe Watkins <krakjoe@php.net>
Sat, 14 May 2016 07:10:16 +0000 (08:10 +0100)
NEWS
ext/xml/xml.c

diff --git a/NEWS b/NEWS
index e9cc944bf357944cf110c5c56fbc5a89cdaf0a9e..d3cd2f5daf6ac7eda28072855dd91b483626299d 100644 (file)
--- 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
 
index 6c5c9e39b25a0cac18a4247c73b6805e68e0f3da..d788b9b0b82aa4d66b8bf9b4f2cd361a42e75e60 100644 (file)
@@ -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;
 }
 /* }}} */