cvs: Zend(PHP_4_3) / zend_execute.c

From: Date: Thu, 04 Dec 2003 13:42:42 +0000
Subject: cvs: Zend(PHP_4_3) / zend_execute.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-2069@lists.php.net to get a copy of this message
moriyoshi Thu Dec 4 08:42:42 2003 EDT Modified files: (Branch: PHP_4_3) /Zend zend_execute.c Log: MFZE2(r-1.559): Raise error in case dereference is performed on a scalar value. Index: Zend/zend_execute.c diff -u Zend/zend_execute.c:1.316.2.24 Zend/zend_execute.c:1.316.2.25 --- Zend/zend_execute.c:1.316.2.24 Wed Dec 3 17:14:25 2003 +++ Zend/zend_execute.c Thu Dec 4 08:42:42 2003 @@ -1313,6 +1313,10 @@ if (EX(Ts)[EX(opline)->result.u.var].EA.type == IS_STRING_OFFSET) { zend_error(E_ERROR, "Cannot unset string offsets"); } else { + if (Z_TYPE_PP(EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr) != IS_ARRAY) { + zend_error(E_ERROR, "Illegal scalar dereference"); + } + PZVAL_UNLOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr); if (EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr != &EG(uninitialized_zval_ptr)) { SEPARATE_ZVAL_IF_NOT_REF(EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);

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