summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-04-24 23:49:52 +0200
committerNikita Popov <nikic@php.net>2016-05-24 20:48:24 +0200
commit91f5940329fede8a26b64e99d4d6d858fe8654cc (patch)
treeb5874f30a7d0d3c4bec3503aeac4d5b097da9e43 /Zend/zend_execute.c
parent674297c7e41013c2c34d770051714518d0586271 (diff)
downloadphp-git-91f5940329fede8a26b64e99d4d6d858fe8654cc.tar.gz
Forbid dynamic calls to scope introspection functions
Per RFC: https://wiki.php.net/rfc/forbid_dynamic_scope_introspection
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 5fb0003986..893f113976 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2691,7 +2691,7 @@ static zend_never_inline zend_execute_data *zend_init_dynamic_call_string(zend_s
init_func_run_time_cache(&fbc->op_array);
}
- return zend_vm_stack_push_call_frame(ZEND_CALL_NESTED_FUNCTION,
+ return zend_vm_stack_push_call_frame(ZEND_CALL_NESTED_FUNCTION | ZEND_CALL_DYNAMIC,
fbc, num_args, called_scope, NULL);
}
/* }}} */
@@ -2701,7 +2701,7 @@ static zend_never_inline zend_execute_data *zend_init_dynamic_call_object(zval *
zend_function *fbc;
zend_class_entry *called_scope;
zend_object *object;
- uint32_t call_info = ZEND_CALL_NESTED_FUNCTION;
+ uint32_t call_info = ZEND_CALL_NESTED_FUNCTION | ZEND_CALL_DYNAMIC;
if (EXPECTED(Z_OBJ_HANDLER_P(function, get_closure)) &&
EXPECTED(Z_OBJ_HANDLER_P(function, get_closure)(function, &called_scope, &fbc, &object) == SUCCESS)) {
@@ -2734,7 +2734,7 @@ static zend_never_inline zend_execute_data *zend_init_dynamic_call_array(zend_ar
zend_function *fbc;
zend_class_entry *called_scope;
zend_object *object;
- uint32_t call_info = ZEND_CALL_NESTED_FUNCTION;
+ uint32_t call_info = ZEND_CALL_NESTED_FUNCTION | ZEND_CALL_DYNAMIC;
if (zend_hash_num_elements(function) == 2) {
zval *obj;