diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-09-18 11:02:51 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-09-18 11:03:08 +0200 |
commit | 34bb5ba2ea1db1e4b4bad991fdcf436c688dd54d (patch) | |
tree | a7eda678e4089680ef6ec5b329cb860edcbe8c07 /Zend/zend_execute.c | |
parent | 9e94bcfdbc8e4b0be0273896b4ea8fb2efdc0833 (diff) | |
download | php-git-34bb5ba2ea1db1e4b4bad991fdcf436c688dd54d.tar.gz |
Remove support for EXT_NOP
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r-- | Zend/zend_execute.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 22afd49c2e..e2e5aa8391 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -4454,14 +4454,13 @@ ZEND_API zend_result ZEND_FASTCALL zend_handle_undef_args(zend_execute_data *cal if (fbc->type == ZEND_USER_FUNCTION) { zend_op_array *op_array = &fbc->op_array; uint32_t num_args = ZEND_CALL_NUM_ARGS(call); - uint32_t opline_offset = op_array->opcodes[0].opcode == ZEND_EXT_NOP; for (uint32_t i = 0; i < num_args; i++) { zval *arg = ZEND_CALL_VAR_NUM(call, i); if (!Z_ISUNDEF_P(arg)) { continue; } - zend_op *opline = &op_array->opcodes[i + opline_offset]; + zend_op *opline = &op_array->opcodes[i]; if (EXPECTED(opline->opcode == ZEND_RECV_INIT)) { zval *default_value = RT_CONSTANT(opline, opline->op2); if (Z_OPT_TYPE_P(default_value) == IS_CONSTANT_AST) { |