Commit: ad553a7af237818f5d7690e97a03ffe66ec9ab37 Author: Xinchen Hui <larue...@php.net> Mon, 10 Dec 2012 20:28:27 +0800 Parents: db6d8e27247429746985cf1c424e73728449922f Branches: PHP-5.3
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ad553a7af237818f5d7690e97a03ffe66ec9ab37 Log: Fixed bug #63726 (Memleak with static properties and internal/user classes) Bugs: https://bugs.php.net/63726 Changed paths: M NEWS M Zend/zend_API.c M Zend/zend_object_handlers.c Diff: diff --git a/NEWS b/NEWS index 1ec60e3..91306ca 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ PHP NEWS #### ADD NEWS TO 5.3.21 ONLY #### - Zend Engine: + . Fixed bug #63726 (Memleak with static properties and internal/user + classes). (Laruence) . Fixed bug #63635 (Segfault in gc_collect_cycles). (Dmitry) . Fixed bug #63512 (parse_ini_file() with INI_SCANNER_RAW removes quotes from value). (Pierrick) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index c1b501b..df11bdb 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -3472,6 +3472,8 @@ ZEND_API int zend_update_static_property(zend_class_entry *scope, char *name, in (*property)->value = value->value; if (Z_REFCOUNT_P(value) > 0) { zval_copy_ctor(*property); + } else { + efree(value); } } else { zval *garbage = *property; diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index eae47d9..c40a458 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -437,6 +437,8 @@ static void zend_std_write_property(zval *object, zval *member, zval *value TSRM (*variable_ptr)->value = value->value; if (Z_REFCOUNT_P(value) > 0) { zval_copy_ctor(*variable_ptr); + } else { + efree(value); } zval_dtor(&garbage); } else { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php