]> granicus.if.org Git - php/commitdiff
Fixed bug #73585 (Logging of "Internal Zend error - Missing class information" missin...
authorXinchen Hui <laruence@gmail.com>
Thu, 24 Nov 2016 04:02:02 +0000 (12:02 +0800)
committerXinchen Hui <laruence@gmail.com>
Thu, 24 Nov 2016 04:02:02 +0000 (12:02 +0800)
Actually, I doubt how thing bug could be triggered

NEWS
Zend/zend_compile.c

diff --git a/NEWS b/NEWS
index 1b54ef345afd082414475e019e7f2dc0ea99f794..9bffebb6ccb1efa20753652179f4de6780873a9a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,9 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2016 PHP 7.0.15
 
-
+- Core:
+  . Fixed bug #73585 (Logging of "Internal Zend error - Missing class
+    information" missing class name). (Laruence)
 
 08 Dec 2016 PHP 7.0.14
 
index eb373906eb51c625721be39683eda9193bc774f9..ca6b7f29c36c37a7157ccb7f28a584a551544892 100644 (file)
@@ -1002,10 +1002,8 @@ ZEND_API zend_class_entry *do_bind_class(const zend_op_array* op_array, const ze
                op1 = RT_CONSTANT(op_array, opline->op1);
                op2 = RT_CONSTANT(op_array, opline->op2);
        }
-       if ((ce = zend_hash_find_ptr(class_table, Z_STR_P(op1))) == NULL) {
-               zend_error_noreturn(E_COMPILE_ERROR, "Internal Zend error - Missing class information for %s", Z_STRVAL_P(op1));
-               return NULL;
-       }
+       ce = zend_hash_find_ptr(class_table, Z_STR_P(op1));
+       ZEND_ASSERT(ce);
        ce->refcount++;
        if (zend_hash_add_ptr(class_table, Z_STR_P(op2), ce) == NULL) {
                ce->refcount--;