com php-src: Fixed memory leak in prop_handlers registering : ext/xmlreader/php_xmlreader.c ext/zip/php_zip.c

From: Date: Mon, 05 May 2014 06:04:52 +0000
Subject: com php-src: Fixed memory leak in prop_handlers registering : ext/xmlreader/php_xmlreader.c ext/zip/php_zip.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-77244@lists.php.net to get a copy of this message
Commit: 7e3989f3014eba41fcdc44535723833029dc1ecf Author: Xinchen Hui <laruence@gmail.com> Mon, 5 May 2014 14:04:52 +0800 Parents: cd00ea999360cd84750010d57b8c1b1cba7125f1 Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7e3989f3014eba41fcdc44535723833029dc1ecf Log: Fixed memory leak in prop_handlers registering Changed paths: M ext/xmlreader/php_xmlreader.c M ext/zip/php_zip.c Diff: diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c index 8945222..28d098e 100644 --- a/ext/xmlreader/php_xmlreader.c +++ b/ext/xmlreader/php_xmlreader.c @@ -448,6 +448,10 @@ static void php_xmlreader_no_arg(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_in } /* }}} */ +static void php_xmlreader_free_prop_handler(zval *el) /* {{{ */ { + pefree(Z_PTR_P(el), 1); +} /* }}} */ + #if LIBXML_VERSION >= 20620 /* {{{ php_xmlreader_no_arg_string */ static void php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_char_t internal_function) { @@ -1154,6 +1158,7 @@ PHP_METHOD(xmlreader, expand) #endif } /* }}} */ + /* {{{ arginfo */ ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_close, 0) ZEND_END_ARG_INFO() @@ -1253,7 +1258,7 @@ ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_expand, 0) ZEND_END_ARG_INFO() /* }}} */ -static const zend_function_entry xmlreader_functions[] = { +static const zend_function_entry xmlreader_functions[] /* {{{ */ = { PHP_ME(xmlreader, close, arginfo_xmlreader_close, ZEND_ACC_PUBLIC) PHP_ME(xmlreader, getAttribute, arginfo_xmlreader_getAttribute, ZEND_ACC_PUBLIC) PHP_ME(xmlreader, getAttributeNo, arginfo_xmlreader_getAttributeNo, ZEND_ACC_PUBLIC) @@ -1285,7 +1290,7 @@ static const zend_function_entry xmlreader_functions[] = { PHP_ME(xmlreader, XML, arginfo_xmlreader_XML, ZEND_ACC_PUBLIC|ZEND_ACC_ALLOW_STATIC) PHP_ME(xmlreader, expand, arginfo_xmlreader_expand, ZEND_ACC_PUBLIC) PHP_FE_END -}; +}; /* }}} */ /* {{{ PHP_MINIT_FUNCTION */ @@ -1307,7 +1312,7 @@ PHP_MINIT_FUNCTION(xmlreader) ce.create_object = xmlreader_objects_new; xmlreader_class_entry = zend_register_internal_class(&ce TSRMLS_CC); - zend_hash_init(&xmlreader_prop_handlers, 0, NULL, NULL, 1); + zend_hash_init(&xmlreader_prop_handlers, 0, NULL, php_xmlreader_free_prop_handler, 1); xmlreader_register_prop_handler(&xmlreader_prop_handlers, "attributeCount", xmlTextReaderAttributeCount, NULL, IS_LONG TSRMLS_CC); xmlreader_register_prop_handler(&xmlreader_prop_handlers, "baseURI", NULL, xmlTextReaderConstBaseUri, IS_STRING TSRMLS_CC); xmlreader_register_prop_handler(&xmlreader_prop_handlers, "depth", xmlTextReaderDepth, NULL, IS_LONG TSRMLS_CC); diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index 7d967c3..d97ab9e 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -2891,6 +2891,10 @@ static const zend_function_entry zip_class_functions[] = { }; /* }}} */ +static void php_zip_free_prop_handler(zval *el) /* {{{ */ { + pefree(Z_PTR_P(el), 1); +} /* }}} */ + /* {{{ PHP_MINIT_FUNCTION */ static PHP_MINIT_FUNCTION(zip) { @@ -2910,7 +2914,7 @@ static PHP_MINIT_FUNCTION(zip) ce.create_object = php_zip_object_new; zip_class_entry = zend_register_internal_class(&ce TSRMLS_CC); - zend_hash_init(&zip_prop_handlers, 0, NULL, NULL, 1); + zend_hash_init(&zip_prop_handlers, 0, NULL, php_zip_free_prop_handler, 1); php_zip_register_prop_handler(&zip_prop_handlers, "status", php_zip_status, NULL, NULL, IS_LONG TSRMLS_CC); php_zip_register_prop_handler(&zip_prop_handlers, "statusSys", php_zip_status_sys, NULL, NULL, IS_LONG TSRMLS_CC); php_zip_register_prop_handler(&zip_prop_handlers, "numFiles", php_zip_get_num_files, NULL, NULL, IS_LONG TSRMLS_CC);

« previous php.cvs (#77244) next »