]> granicus.if.org Git - php/commitdiff
Initialize static_members_table
authorDmitry Stogov <dmitry@zend.com>
Mon, 22 Jul 2019 09:02:16 +0000 (12:02 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 22 Jul 2019 09:02:16 +0000 (12:02 +0300)
Zend/zend_API.c

index 2e8fabfcc6b6866518858f2aeea786005c925533..177a5d5b03535de1ef6761b205ee22a2a3ee7e3f 100644 (file)
@@ -1198,6 +1198,12 @@ ZEND_API int zend_update_class_constants(zend_class_entry *class_type) /* {{{ */
                        }
                } ZEND_HASH_FOREACH_END();
 
+               if (class_type->default_static_members_count && !CE_STATIC_MEMBERS(class_type)) {
+                       if (class_type->type == ZEND_INTERNAL_CLASS || (class_type->ce_flags & (ZEND_ACC_IMMUTABLE|ZEND_ACC_PRELOADED))) {
+                               zend_class_init_statics(class_type);
+                       }
+               }
+
                ce = class_type;
                while (ce) {
                        ZEND_HASH_FOREACH_PTR(&ce->properties_info, prop_info) {