mirror of
https://github.com/php/php-src.git
synced 2026-04-20 06:21:12 +02:00
Fixed IS_REFERENCE handling
This commit is contained in:
@@ -170,7 +170,7 @@ static zend_function *zend_closure_get_method(zval *object_ptr, zend_string *met
|
||||
lc_name = STR_ALLOC(method->len, 0);
|
||||
zend_str_tolower_copy(lc_name->val, method->val, method->len);
|
||||
if ((method->len == sizeof(ZEND_INVOKE_FUNC_NAME)-1) &&
|
||||
memcmp(lc_name, ZEND_INVOKE_FUNC_NAME, sizeof(ZEND_INVOKE_FUNC_NAME)-1) == 0
|
||||
memcmp(lc_name->val, ZEND_INVOKE_FUNC_NAME, sizeof(ZEND_INVOKE_FUNC_NAME)-1) == 0
|
||||
) {
|
||||
STR_FREE(lc_name);
|
||||
return zend_get_closure_invoke_method(object_ptr TSRMLS_CC);
|
||||
|
||||
@@ -2601,7 +2601,7 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV)
|
||||
zend_free_op free_op2;
|
||||
|
||||
SAVE_OPLINE();
|
||||
function_name = GET_OP2_ZVAL_PTR(BP_VAR_R);
|
||||
function_name = GET_OP2_ZVAL_PTR_DEREF(BP_VAR_R);
|
||||
|
||||
if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
|
||||
if (Z_STRVAL_P(function_name)[0] == '\\') {
|
||||
|
||||
@@ -1955,7 +1955,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_VAR_HANDLER(ZEND_OPCODE_H
|
||||
zend_free_op free_op2;
|
||||
|
||||
SAVE_OPLINE();
|
||||
function_name = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC);
|
||||
function_name = _get_zval_ptr_var_deref(opline->op2.var, execute_data, &free_op2 TSRMLS_CC);
|
||||
|
||||
if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
|
||||
if (Z_STRVAL_P(function_name)[0] == '\\') {
|
||||
@@ -2185,7 +2185,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HA
|
||||
|
||||
|
||||
SAVE_OPLINE();
|
||||
function_name = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC);
|
||||
function_name = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC);
|
||||
|
||||
if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
|
||||
if (Z_STRVAL_P(function_name)[0] == '\\') {
|
||||
|
||||
Reference in New Issue
Block a user