#40402 [NEW]: manipulate private and protected properties

From: Date: Thu, 08 Feb 2007 12:53:02 +0000
Subject: #40402 [NEW]: manipulate private and protected properties
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-108580@lists.php.net to get a copy of this message
From: jpieper at intergenia dot de Operating system: Irrelevant PHP version: 5.2.1RC4 PHP Bug Type: Class/Object related Bug description: manipulate private and protected properties Description: ------------ After typecasting an object to an array you can iterate over the properties and manipulate private/protected properties. Reproduce code: --------------- <?php class Foobar { private $oObject; public function __construct() { $this->oObject = new stdClass; } } $oFoobar = new Foobar; $aProperties = (array)$oFoobar; foreach ($aProperties as $mProperty) { if (is_object($mProperty) && ($mProperty instanceof stdClass)) { $mProperty->blaaa = 'fooo'; } } var_dump($oFoobar); ?> Expected result: ---------------- error because you must not access and rewrite/manipulate private/protected properties. Actual result: -------------- object(Foobar)#1 (1) { ["oObject:private"]=> object(stdClass)#2 (1) { ["blaaa"]=> string(4) "fooo" } } -- Edit bug report at http://bugs.php.net/?id=40402&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40402&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40402&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40402&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40402&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40402&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40402&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=40402&r=needscript Try newer version: http://bugs.php.net/fix.php?id=40402&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40402&r=support Expected behavior: http://bugs.php.net/fix.php?id=40402&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40402&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40402&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40402&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40402&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40402&r=dst IIS Stability: http://bugs.php.net/fix.php?id=40402&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40402&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40402&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40402&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=40402&r=mysqlcfg

« previous php.bugs (#108580) next »