php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/ |
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/bug39297.phpt |
--TEST-- Bug #39297 (Memory corryption because of indirect modification of overloaded array) --FILE-- <?php function compareByRef(&$first, &$second) { return $first === $second; } class MyTree implements ArrayAccess { public $parent; public $children = array(); public function offsetExists($offset) { } public function offsetUnset($offset) { } public function offsetSet($offset, $value) { echo "offsetSet()\n"; $cannonicalName = strtolower($offset); $this->children[$cannonicalName] = $value; $value->parent = $this; } public function offsetGet($offset) { echo "offsetGet()\n"; $cannonicalName = strtolower($offset); return $this->children[$cannonicalName]; } } $id = 'Test'; $root = new MyTree(); $child = new MyTree(); $root[$id] = $child; var_dump(compareByRef($root[$id], $child)); ?> --EXPECT-- offsetSet() offsetGet() bool(true)y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`