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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
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);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
- 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);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
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);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- zval_ptr_dtor_nogc(free_op2);
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- 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);};
- HANDLE_EXCEPTION();
- }
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- zval_ptr_dtor_nogc(free_op2);
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
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);
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- zval_ptr_dtor_nogc(free_op2);
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- zval_ptr_dtor_nogc(free_op2);
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to an array dimension of an object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
UNEXPECTED(!Z_ISREF_P(value_ptr))) {
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();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op2 freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- ZEND_VM_NEXT_OPCODE();
} else {
zend_assign_to_variable_reference(variable_ptr, value_ptr);
}
UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to an array dimension of an object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
UNEXPECTED(!Z_ISREF_P(value_ptr))) {
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op2 freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
- ZEND_VM_NEXT_OPCODE();
} else {
zend_assign_to_variable_reference(variable_ptr, value_ptr);
}
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
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);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
- zval_ptr_dtor_nogc(free_op2);
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
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);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
- zval_ptr_dtor_nogc(free_op2);
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- zval_ptr_dtor_nogc(free_op2);
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
- zval_ptr_dtor_nogc(free_op2);
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
- zval_ptr_dtor_nogc(free_op2);
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
- zval_ptr_dtor_nogc(free_op2);
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
- zval_ptr_dtor_nogc(free_op2);
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
- zval_ptr_dtor_nogc(free_op2);
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
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);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
- zval_ptr_dtor_nogc(free_op2);
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- zval_ptr_dtor_nogc(free_op2);
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
- zval_ptr_dtor_nogc(free_op2);
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
- zval_ptr_dtor_nogc(free_op2);
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
- zval_ptr_dtor_nogc(free_op2);
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
- zval_ptr_dtor_nogc(free_op2);
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to an array dimension of an object");
-
- if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
UNEXPECTED(!Z_ISREF_P(value_ptr))) {
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();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op2 freed by assign_to_variable */
-
- ZEND_VM_NEXT_OPCODE();
} else {
zend_assign_to_variable_reference(variable_ptr, 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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
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 OPLINE_CC EXECUTE_DATA_CC))) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ prop = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
- if (UNEXPECTED(prop_info->type)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
- if (free_op_data) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ do {
+ if (UNEXPECTED(prop_info->type)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ prop = &EG(uninitialized_zval);
+ break;
+ }
+ if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ }
}
- if (UNEXPECTED(Z_REFCOUNTED_P(prop)) && Z_ISREF_P(prop)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ zend_assign_to_variable_reference(prop, value_ptr);
+ if (prop_info->type) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
}
- }
- }
- zend_assign_to_variable_reference(prop, value_ptr);
- if (prop_info->type) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(prop), prop_info);
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to an array dimension of an object");
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
UNEXPECTED(!Z_ISREF_P(value_ptr))) {
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(variable_ptr, value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op2 freed by assign_to_variable */
-
- ZEND_VM_NEXT_OPCODE();
} else {
zend_assign_to_variable_reference(variable_ptr, value_ptr);
}
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_VAR == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- if (UNEXPECTED(free_op_data)) {zval_ptr_dtor_nogc(free_op_data);};
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
variable_ptr = &EG(uninitialized_zval);
} else if (UNEXPECTED(Z_TYPE(variable) != IS_INDIRECT)) {
zend_throw_error(NULL, "Cannot assign by reference to overloaded object");
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR && UNEXPECTED(Z_ISERROR_P(value_ptr))) {
variable_ptr = &EG(uninitialized_zval);
} else if (IS_CV == IS_VAR &&
if (UNEXPECTED(!zend_wrong_assign_to_variable_reference(
Z_INDIRECT_P(variable_ptr), value_ptr OPLINE_CC EXECUTE_DATA_CC))) {
-
-
-
- UNDEF_RESULT();
- HANDLE_EXCEPTION();
+ variable_ptr = &EG(uninitialized_zval);
}
-
- /* op_data freed by assign_to_variable */
-
-
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
} else {
zend_property_info *prop_info = NULL;
prop_info = zend_object_fetch_property_type_info(Z_OBJ_P(container), variable_ptr);
}
- if (UNEXPECTED(prop_info)) {
- if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
-
-
+ do {
+ if (UNEXPECTED(prop_info)) {
+ if (!zend_verify_prop_assignable_by_ref(prop_info, value_ptr, EX_USES_STRICT_TYPES())) {
+ variable_ptr = &EG(uninitialized_zval);
+ break;
+ }
- HANDLE_EXCEPTION();
+ if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
+ ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ }
}
-
- if (UNEXPECTED(Z_REFCOUNTED_P(variable_ptr)) && Z_ISREF_P(variable_ptr)) {
- ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
+ zend_assign_to_variable_reference(variable_ptr, value_ptr);
+ if (prop_info) {
+ ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
}
- }
- zend_assign_to_variable_reference(variable_ptr, value_ptr);
- if (prop_info) {
- ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(variable_ptr), prop_info);
- }
+ } while (0);
}
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {