]> granicus.if.org Git - php/commitdiff
Fixed and improved incorrect usage of value_type argument.
authorDmitry Stogov <dmitry@zend.com>
Wed, 16 Jan 2019 08:06:19 +0000 (11:06 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 16 Jan 2019 08:06:19 +0000 (11:06 +0300)
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 715ad636002d8062b8f5fe768962fa50c78a0a3a..f2085793f9460f14d067f3735c43841eeba783f0 100644 (file)
@@ -619,14 +619,15 @@ static inline void zend_assign_to_variable_reference(zval *variable_ptr, zval *v
        ZVAL_REF(variable_ptr, ref);
 }
 
-static zend_never_inline ZEND_COLD int zend_wrong_assign_to_variable_reference(zval *variable_ptr, zval *value_ptr, zend_uchar value_type OPLINE_DC EXECUTE_DATA_DC)
+static zend_never_inline ZEND_COLD int zend_wrong_assign_to_variable_reference(zval *variable_ptr, zval *value_ptr OPLINE_DC EXECUTE_DATA_DC)
 {
        zend_error(E_NOTICE, "Only variables should be assigned by reference");
        if (UNEXPECTED(EG(exception) != NULL)) {
                return 0;
        }
 
-       value_ptr = zend_assign_to_variable(variable_ptr, value_ptr, value_type, EX_USES_STRICT_TYPES());
+       /* Use IS_TMP_VAR instead of IS_VAR to avoid ISREF check */
+       value_ptr = zend_assign_to_variable(variable_ptr, value_ptr, IS_TMP_VAR, EX_USES_STRICT_TYPES());
 
        if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
                ZVAL_COPY(EX_VAR(opline->result.var), value_ptr);
index 99517c429a358ea6254e345f510a0672fce6de8e..c9965d15db56ba9e2a5a1dabf7e7c566f2993766 100644 (file)
@@ -2531,7 +2531,7 @@ ZEND_VM_HANDLER(39, ZEND_ASSIGN_REF, VAR|CV, VAR|CV, SRC)
                   opline->extended_value == ZEND_RETURNS_FUNCTION &&
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr, OP2_TYPE OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        FREE_OP2_VAR_PTR();
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -2598,7 +2598,7 @@ ZEND_VM_HANDLER(200, ZEND_ASSIGN_OBJ_REF, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, C
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, OP2_TYPE OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        FREE_OP1_VAR_PTR();
                        FREE_OP2();
                        FREE_OP_DATA_VAR_PTR();
@@ -2667,7 +2667,7 @@ ZEND_VM_HANDLER(202, ZEND_ASSIGN_STATIC_PROP_REF, CONST|TMPVAR|CV, UNUSED|CONST|
        if (OP_DATA_TYPE == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if (OP_DATA_TYPE == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, OP2_TYPE OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        FREE_OP_DATA_VAR_PTR();
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
index ac79fde5d80288ec11646e45b17eb1a3355f477f..6ee2631d2f5a7776780820d70a129f3fe659fad5 100644 (file)
@@ -5118,7 +5118,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_CO
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -8564,7 +8564,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_CO
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_VAR OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -9347,7 +9347,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_CO
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_UNUSED OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -14788,7 +14788,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_TM
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -17118,7 +17118,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_TM
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_VAR OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -17656,7 +17656,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_TM
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_UNUSED OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -25673,7 +25673,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_VAR_CONST_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
 
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -25767,7 +25767,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_VAR_CONST_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
 
 
@@ -28450,7 +28450,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_VAR_TMPVAR
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, (IS_TMP_VAR|IS_VAR) OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
                        zval_ptr_dtor_nogc(free_op2);
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -28544,7 +28544,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_VAR_TMPVAR
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, (IS_TMP_VAR|IS_VAR) OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
                        zval_ptr_dtor_nogc(free_op2);
 
@@ -29320,7 +29320,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLE
                   opline->extended_value == ZEND_RETURNS_FUNCTION &&
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr, IS_VAR OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -32900,7 +32900,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_CV_HANDLER
                   opline->extended_value == ZEND_RETURNS_FUNCTION &&
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -32966,7 +32966,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_VAR_CV_OP_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
 
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -33060,7 +33060,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_VAR_CV_OP_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
 
 
@@ -35067,7 +35067,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_UNUSED_CON
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -35160,7 +35160,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_UNUSED_CON
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
 
@@ -37032,7 +37032,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_UNUSED_TMP
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, (IS_TMP_VAR|IS_VAR) OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
                        zval_ptr_dtor_nogc(free_op2);
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -37125,7 +37125,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_UNUSED_TMP
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, (IS_TMP_VAR|IS_VAR) OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
                        zval_ptr_dtor_nogc(free_op2);
 
@@ -39644,7 +39644,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_UNUSED_CV_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -39737,7 +39737,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_UNUSED_CV_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
 
@@ -45259,7 +45259,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_CV_CONST_O
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -45352,7 +45352,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_CV_CONST_O
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
 
@@ -45420,7 +45420,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_CV
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_CONST OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -49452,7 +49452,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_CV_TMPVAR_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, (IS_TMP_VAR|IS_VAR) OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
                        zval_ptr_dtor_nogc(free_op2);
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -49545,7 +49545,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_CV_TMPVAR_
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, (IS_TMP_VAR|IS_VAR) OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
                        zval_ptr_dtor_nogc(free_op2);
 
@@ -50826,7 +50826,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
                   opline->extended_value == ZEND_RETURNS_FUNCTION &&
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr, IS_VAR OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -50868,7 +50868,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_CV
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_VAR OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -52405,7 +52405,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_REF_SPEC_CV
        if ((opline+1)->op1_type == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
                prop = &EG(uninitialized_zval);
        } else if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION) && UNEXPECTED(!Z_ISREF_P(value_ptr))) {
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr, IS_UNUSED OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(prop, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
                        if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -56007,7 +56007,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_CV_HANDLER(
                   opline->extended_value == ZEND_RETURNS_FUNCTION &&
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
-               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+               if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
                        UNDEF_RESULT();
                        HANDLE_EXCEPTION();
@@ -56073,7 +56073,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_CV_CV_OP_D
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
 
 
                        if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
@@ -56166,7 +56166,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_REF_SPEC_CV_CV_OP_D
                           UNEXPECTED(!Z_ISREF_P(value_ptr))) {
 
                if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
-                               Z_INDIRECT_P(variable_ptr), value_ptr, IS_CV OPLINE_CC EXECUTE_DATA_CC))) {
+                               Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {