cvs: ZendEngine2 / zend_execute.c

From: Date: Thu, 11 Dec 2003 09:52:33 +0000
Subject: cvs: ZendEngine2 / zend_execute.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-2089@lists.php.net to get a copy of this message
helly Thu Dec 11 04:52:33 2003 EDT Modified files: /ZendEngine2 zend_execute.c Log: read_dimension() handler might return 0, handle this. Index: ZendEngine2/zend_execute.c diff -u ZendEngine2/zend_execute.c:1.561 ZendEngine2/zend_execute.c:1.562 --- ZendEngine2/zend_execute.c:1.561 Fri Dec 5 11:28:54 2003 +++ ZendEngine2/zend_execute.c Thu Dec 11 04:52:33 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute.c,v 1.561 2003/12/05 16:28:54 andi Exp $ */ +/* $Id: zend_execute.c,v 1.562 2003/12/11 09:52:33 helly Exp $ */ #define ZEND_INTENSIVE_DEBUGGING 0 @@ -930,12 +930,16 @@ } else { zval *dim = get_zval_ptr(op2, Ts, &EG(free_op2), BP_VAR_R); zval *overloaded_result = Z_OBJ_HT_P(container)->read_dimension(container, dim TSRMLS_CC); - - if (type == BP_VAR_RW && !overloaded_result->is_ref) { - zend_error(E_ERROR, "Objects used as arrays in post/pre increment/decrement must return values by reference"); - } - *retval = &overloaded_result; + if (overloaded_result) { + if (type == BP_VAR_RW && !overloaded_result->is_ref) { + zend_error(E_ERROR, "Objects used as arrays in post/pre increment/decrement must return values by reference"); + } + + *retval = &overloaded_result; + } else { + *retval = &EG(error_zval_ptr); + } AI_USE_PTR(T(result->u.var).var); FREE_OP(Ts, op2, EG(free_op2)); SELECTIVE_PZVAL_LOCK(**retval, result);

« previous php.zend-engine.cvs (#2089) next »