if (IS_CONST == IS_VAR && !(*retval_ptr_ptr)->is_ref) {
if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr
|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) {
- zend_error(E_STRICT, "Only variable references should be returned by reference");
if (IS_CONST == IS_VAR && free_op1.var == NULL) {
PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */
}
+ zend_error(E_STRICT, "Only variable references should be returned by reference");
goto return_by_value;
}
}
if (IS_TMP_VAR == IS_VAR && !(*retval_ptr_ptr)->is_ref) {
if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr
|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) {
- zend_error(E_STRICT, "Only variable references should be returned by reference");
if (IS_TMP_VAR == IS_VAR && free_op1.var == NULL) {
PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */
}
+ zend_error(E_STRICT, "Only variable references should be returned by reference");
goto return_by_value;
}
}
if (IS_VAR == IS_VAR && !(*retval_ptr_ptr)->is_ref) {
if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr
|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) {
- zend_error(E_STRICT, "Only variable references should be returned by reference");
if (IS_VAR == IS_VAR && free_op1.var == NULL) {
PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */
}
+ zend_error(E_STRICT, "Only variable references should be returned by reference");
goto return_by_value;
}
}
if (IS_CV == IS_VAR && !(*retval_ptr_ptr)->is_ref) {
if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr
|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) {
- zend_error(E_STRICT, "Only variable references should be returned by reference");
if (IS_CV == IS_VAR && free_op1.var == NULL) {
PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */
}
+ zend_error(E_STRICT, "Only variable references should be returned by reference");
goto return_by_value;
}
}
if (opline->op1.op_type == IS_VAR && !(*retval_ptr_ptr)->is_ref) {
if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr
|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) {
- zend_error(E_STRICT, "Only variable references should be returned by reference");
if (opline->op1.op_type == IS_VAR && free_op1.var == NULL) {
PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */
}
+ zend_error(E_STRICT, "Only variable references should be returned by reference");
goto return_by_value;
}
}