cvs: ZendEngine2 / zend_execute.c /tests bug36303.phpt bug44660.phpt

From: Date: Sat, 26 Jul 2008 18:00:18 +0000
Subject: cvs: ZendEngine2 / zend_execute.c /tests bug36303.phpt bug44660.phpt
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-6947@lists.php.net to get a copy of this message
dmitry Sat Jul 26 18:00:18 2008 UTC Modified files: /ZendEngine2 zend_execute.c /ZendEngine2/tests bug44660.phpt bug36303.phpt Log: Fixed bug #44660 (Indexed and reference assignment to propery of non-object don't trigger warning) http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.c?r1=1.801&r2=1.802&diff_format=u Index: ZendEngine2/zend_execute.c diff -u ZendEngine2/zend_execute.c:1.801 ZendEngine2/zend_execute.c:1.802 --- ZendEngine2/zend_execute.c:1.801 Sat Jul 26 14:09:05 2008 +++ ZendEngine2/zend_execute.c Sat Jul 26 18:00:17 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute.c,v 1.801 2008/07/26 14:09:05 dmitry Exp $ */ +/* $Id: zend_execute.c,v 1.802 2008/07/26 18:00:17 dmitry Exp $ */ #define ZEND_INTENSIVE_DEBUGGING 0 @@ -1289,6 +1289,7 @@ zend_error(E_STRICT, "Creating default object from empty value"); object_init(container); } else { + zend_error(E_WARNING, "Attempt to modify property of non-object"); result->var.ptr_ptr = &EG(error_zval_ptr); PZVAL_LOCK(EG(error_zval_ptr)); return; http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug44660.phpt?r1=1.1&r2=1.2&diff_format=u Index: ZendEngine2/tests/bug44660.phpt diff -u /dev/null ZendEngine2/tests/bug44660.phpt:1.2 --- /dev/null Sat Jul 26 18:00:18 2008 +++ ZendEngine2/tests/bug44660.phpt Sat Jul 26 18:00:18 2008 @@ -0,0 +1,49 @@ +--TEST-- +Bug #44660 (Indexed and reference assignment to propery of non-object don't trigger warning) +--FILE-- +<?php +$s = "hello"; +$a = true; + +echo "--> read access: "; +echo $a->p; + +echo "\n--> direct assignment: "; +$a->p = $s; + +echo "\n--> increment: "; +$a->p++; + +echo "\n--> reference assignment:"; +$a->p =& $s; + +echo "\n--> reference assignment:"; +$s =& $a->p; + +echo "\n--> indexed assignment:"; +$a->p[0] = $s; + +echo "\n--> Confirm assignments have had no impact:\n"; +var_dump($a); +?> +--EXPECTF-- +--> read access: +Notice: Trying to get property of non-object in %sbug44660.php on line 6 + +--> direct assignment: +Warning: Attempt to assign property of non-object in %sbug44660.php on line 9 + +--> increment: +Warning: Attempt to increment/decrement property of non-object in %sbug44660.php on line 12 + +--> reference assignment: +Warning: Attempt to modify property of non-object in %sbug44660.php on line 15 + +--> reference assignment: +Warning: Attempt to modify property of non-object in %sbug44660.php on line 18 + +--> indexed assignment: +Warning: Attempt to modify property of non-object in %sbug44660.php on line 21 + +--> Confirm assignments have had no impact: +bool(true) http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug36303.phpt?r1=1.3&r2=1.4&diff_format=u Index: ZendEngine2/tests/bug36303.phpt diff -u ZendEngine2/tests/bug36303.phpt:1.3 ZendEngine2/tests/bug36303.phpt:1.4 --- ZendEngine2/tests/bug36303.phpt:1.3 Sat May 24 15:13:08 2008 +++ ZendEngine2/tests/bug36303.phpt Sat Jul 26 18:00:18 2008 @@ -8,5 +8,7 @@ echo "ok\n"; ?> --EXPECTF-- +Warning: Attempt to modify property of non-object in %sbug36303.php on line 3 + Warning: Invalid argument supplied for foreach() in %sbug36303.php on line 3 ok

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