summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-07-22 12:03:35 +0300
committerDmitry Stogov <dmitry@zend.com>2019-07-22 12:03:35 +0300
commitc713f589c1eb2bcb2f77c315675a29244108316e (patch)
tree41bd470400a6be58a762792755bc36bdc1188b55
parent390810e1e628b50ac3b0fa006fd76c0745a6e404 (diff)
parent60dca2295d4eb87873e85bed24880a948a4049cc (diff)
downloadphp-git-c713f589c1eb2bcb2f77c315675a29244108316e.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Initialize static_members_table
-rw-r--r--Zend/zend_API.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 45259d3f2c..50acdd878b 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1057,6 +1057,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) {