summaryrefslogtreecommitdiff
path: root/Zend/zend_inheritance.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-05-04 16:30:34 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-05-04 16:30:34 +0200
commit4c24545aab8d5d6aee09d388d227b9e6a22768ef (patch)
tree28c0d7a556925c9c5a195a93210fd451ca28e529 /Zend/zend_inheritance.c
parent2dc4481fa90319be2cb573166b3b1b9bbede3c35 (diff)
parent21a9ad910bc1a890ca4bddc4d4239c2e17d4c6a6 (diff)
downloadphp-git-4c24545aab8d5d6aee09d388d227b9e6a22768ef.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Fixed bug #79548
Diffstat (limited to 'Zend/zend_inheritance.c')
-rw-r--r--Zend/zend_inheritance.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c
index 3725c00ccc..72f4888228 100644
--- a/Zend/zend_inheritance.c
+++ b/Zend/zend_inheritance.c
@@ -97,7 +97,14 @@ static zend_function *zend_duplicate_user_function(zend_function *func) /* {{{ *
if (!(GC_FLAGS(new_function->op_array.static_variables) & IS_ARRAY_IMMUTABLE)) {
GC_ADDREF(new_function->op_array.static_variables);
}
- ZEND_MAP_PTR_INIT(new_function->op_array.static_variables_ptr, &new_function->op_array.static_variables);
+
+ if (CG(compiler_options) & ZEND_COMPILE_PRELOAD) {
+ ZEND_ASSERT(new_function->op_array.fn_flags & ZEND_ACC_PRELOADED);
+ ZEND_MAP_PTR_NEW(new_function->op_array.static_variables_ptr);
+ } else {
+ ZEND_MAP_PTR_INIT(new_function->op_array.static_variables_ptr, &new_function->op_array.static_variables);
+ }
+
return new_function;
}
/* }}} */