diff options
author | Xinchen Hui <laruence@gmail.com> | 2018-08-17 13:35:31 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2018-08-17 13:35:31 +0800 |
commit | ca103b415e615dba8ce89dd65e01510a00fd984a (patch) | |
tree | a37ea680e9913728b939edcff36b48da1a4961ab | |
parent | a158fb958f61428fb66072936a77006427b1b349 (diff) | |
parent | 04c4854fdfbc11b2b6a2cf1c8045f2efcd5dcdcc (diff) | |
download | php-git-ca103b415e615dba8ce89dd65e01510a00fd984a.tar.gz |
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fixed bug #76754 (parent private constant in extends class memory leak)
-rw-r--r-- | Zend/tests/bug76754.phpt | 18 | ||||
-rw-r--r-- | Zend/zend_opcode.c | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/Zend/tests/bug76754.phpt b/Zend/tests/bug76754.phpt new file mode 100644 index 0000000000..424f1fbffc --- /dev/null +++ b/Zend/tests/bug76754.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #76754 (parent private constant in extends class memory leak) +--INI-- +opcache.enable=0 +opcache.enable_cli=0 +--FILE-- +<?php + +class FOO +{ + private const FOO = 'BAR'; +} + +class BAR extends FOO { } +?> +okey +--EXPECT-- +okey diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 1566ee34cf..ea8fa0917d 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -297,8 +297,8 @@ ZEND_API void destroy_zend_class(zval *zv) } } } ZEND_HASH_FOREACH_END(); - zend_hash_destroy(&ce->constants_table); } + zend_hash_destroy(&ce->constants_table); if (ce->num_interfaces > 0 && ce->interfaces) { efree(ce->interfaces); } |