From: Zeev Suraski Date: Wed, 17 Dec 2003 17:06:34 +0000 (+0000) Subject: This part of the if was necessary after all. X-Git-Tag: php-5.0.0b3RC1~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=24298e523f1a968a0757c9e5e184df2d43b08cd5;p=php This part of the if was necessary after all. Refix bug #22510 --- diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index e0f15bd8da..1eb9e6e7f2 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2718,10 +2718,9 @@ int zend_return_handler(ZEND_OPCODE_HANDLER_ARGS) zend_error(E_ERROR, "Cannot return string offsets by reference"); } - if (!(*retval_ptr_ptr)->is_ref - /*&& EX_T(EX(opline)->op1.u.var).var.ptr_ptr == &EX_T(EX(opline)->op1.u.var).var.ptr*/) { - if (EX(opline)->extended_value == ZEND_RETURNS_FUNCTION - && !EX_T(EX(opline)->op1.u.var).var.fcall_returned_reference) { + if (!(*retval_ptr_ptr)->is_ref) { + if (EX_T(EX(opline)->op1.u.var).var.ptr_ptr == &EX_T(EX(opline)->op1.u.var).var.ptr + || (EX(opline)->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(EX(opline)->op1.u.var).var.fcall_returned_reference)) { zend_error(E_STRICT, "Only variable references should be returned by reference"); PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ goto return_by_value;