com php-src: Merge branch 'PHP-7.0': Zend/zend_compile.c
| From: | Xinchen Hui | Date: | Thu, 14 Jul 2016 05:38:27 +0000 |
| Subject: | com php-src: Merge branch 'PHP-7.0': Zend/zend_compile.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-93005@lists.php.net to get a copy of this message | ||
Commit: efdc8ccd52203bff753fc786a3f2b09f6fcdf452
Author: Xinchen Hui <laruence@gmail.com> Thu, 14 Jul 2016 13:38:27 +0800
Parents: a0e5ffae6f7b6419b58a590b0b53bb30097ae169 8c5b27e0617bf0899d7e830ed3029711125a0ddb
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=efdc8ccd52203bff753fc786a3f2b09f6fcdf452
Log:
Merge branch 'PHP-7.0'
* PHP-7.0:
Fixed bug #72594 (Calling an earlier instance of an included anonymous class fatals)
Conflicts:
Zend/zend_compile.c
Bugs:
https://bugs.php.net/72594
Changed paths:
MM Zend/zend_compile.c
Diff:
diff --cc Zend/zend_compile.c
index c6eb087,73ccd4a..9a4ff33
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@@ -5931,7 -5297,17 +5931,15 @@@ void zend_compile_class_decl(zend_ast *
opline->opcode = ZEND_DECLARE_ANON_CLASS;
}
- zend_hash_update_ptr(CG(class_table), lcname, ce);
- opline->op1_type = IS_UNUSED;
-
+ if (!zend_hash_exists(CG(class_table), lcname)) {
+ zend_hash_add_ptr(CG(class_table), lcname, ce);
+ } else {
+ /* this anonymous class has been included */
+ zval zv;
+ ZVAL_PTR(&zv, ce);
+ destroy_zend_class(&zv);
+ return;
+ }
} else {
zend_string *key;