cvs: ZendEngine2 / zend_execute.c
| From: | Zeev Suraski | Date: | Wed, 17 Dec 2003 17:06:34 +0000 |
| Subject: | cvs: ZendEngine2 / zend_execute.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2131@lists.php.net to get a copy of this message | ||
zeev Wed Dec 17 12:06:34 2003 EDT
Modified files:
/ZendEngine2 zend_execute.c
Log:
This part of the if was necessary after all.
Refix bug #22510
Index: ZendEngine2/zend_execute.c
diff -u ZendEngine2/zend_execute.c:1.567 ZendEngine2/zend_execute.c:1.568
--- ZendEngine2/zend_execute.c:1.567 Mon Dec 15 08:20:53 2003
+++ ZendEngine2/zend_execute.c Wed Dec 17 12:06:34 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.c,v 1.567 2003/12/15 13:20:53 sniper Exp $ */
+/* $Id: zend_execute.c,v 1.568 2003/12/17 17:06:34 zeev Exp $ */
#define ZEND_INTENSIVE_DEBUGGING 0
@@ -2718,10 +2718,9 @@
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;