]> granicus.if.org Git - php/commitdiff
Added a note
authorXinchen Hui <laruence@gmail.com>
Fri, 17 Aug 2018 04:22:46 +0000 (12:22 +0800)
committerXinchen Hui <laruence@gmail.com>
Fri, 17 Aug 2018 04:22:46 +0000 (12:22 +0800)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 14dc9e676361286e179b20e3f78eb72ec7b27732..74cf5806eb9a78d0e479f1cab45c3c3f56702984 100644 (file)
@@ -6537,6 +6537,7 @@ ZEND_VM_COLD_CONST_HANDLER(169, ZEND_COALESCE, CONST|TMPVAR|CV, JMP_ADDR)
        SAVE_OPLINE();
        value = GET_OP1_ZVAL_PTR(BP_VAR_IS);
 
+       /* FETCH_OBJ_IS may return IS_REFERENCE in TMP_VAR */
        if ((OP1_TYPE & (IS_VAR|IS_CV)) && Z_ISREF_P(value)) {
                if (OP1_TYPE & IS_VAR) {
                        ref = value;
index 523e0985f9eb53312cadf0aaa3d30c9676fa701a..8a3dc22a9e196307ee1414d4e9bc9c8ad1602084 100644 (file)
@@ -3545,6 +3545,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_COALESCE_SPEC_CON
        SAVE_OPLINE();
        value = RT_CONSTANT(opline, opline->op1);
 
+       /* FETCH_OBJ_IS may return IS_REFERENCE in TMP_VAR */
        if ((IS_CONST & (IS_VAR|IS_CV)) && Z_ISREF_P(value)) {
                if (IS_CONST & IS_VAR) {
                        ref = value;
@@ -12791,6 +12792,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_COALESCE_SPEC_TMPVAR_HANDLER(Z
        SAVE_OPLINE();
        value = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
 
+       /* FETCH_OBJ_IS may return IS_REFERENCE in TMP_VAR */
        if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) && Z_ISREF_P(value)) {
                if ((IS_TMP_VAR|IS_VAR) & IS_VAR) {
                        ref = value;
@@ -37925,6 +37927,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_COALESCE_SPEC_CV_HANDLER(ZEND_
        SAVE_OPLINE();
        value = _get_zval_ptr_cv_BP_VAR_IS(opline->op1.var EXECUTE_DATA_CC);
 
+       /* FETCH_OBJ_IS may return IS_REFERENCE in TMP_VAR */
        if ((IS_CV & (IS_VAR|IS_CV)) && Z_ISREF_P(value)) {
                if (IS_CV & IS_VAR) {
                        ref = value;