cvs: ZendEngine2 / zend_execute.c

From: Date: Thu, 04 Dec 2003 13:38:30 +0000
Subject: cvs: ZendEngine2 / zend_execute.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-2068@lists.php.net to get a copy of this message
moriyoshi Thu Dec 4 08:38:30 2003 EDT Modified files: /ZendEngine2 zend_execute.c Log: Raise error in case dereference is performed on a scalar value. Index: ZendEngine2/zend_execute.c diff -u ZendEngine2/zend_execute.c:1.558 ZendEngine2/zend_execute.c:1.559 --- ZendEngine2/zend_execute.c:1.558 Wed Dec 3 17:08:58 2003 +++ ZendEngine2/zend_execute.c Thu Dec 4 08:38:30 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute.c,v 1.558 2003/12/03 22:08:58 moriyoshi Exp $ */ +/* $Id: zend_execute.c,v 1.559 2003/12/04 13:38:30 moriyoshi Exp $ */ #define ZEND_INTENSIVE_DEBUGGING 0 @@ -1949,6 +1949,10 @@ if (EX_T(EX(opline)->result.u.var).EA.type == IS_STRING_OFFSET) { zend_error(E_ERROR, "Cannot unset string offsets"); } else { + if (Z_TYPE_PP(EX_T(EX(opline)->result.u.var).var.ptr_ptr) != IS_ARRAY) { + zend_error(E_ERROR, "Illegal scalar dereference"); + } + PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr); if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) { SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr);

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