Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /usr/local/src/php7/php-7.0.5/Zend/tests/ |
Current File : //usr/local/src/php7/php-7.0.5/Zend/tests/bug40833.phpt |
--TEST-- Bug #40833 (Crash when using unset() on an ArrayAccess object retrieved via __get) --FILE-- <?php class entity { private $data; private $modified; function __get($name) { if ( isset($this->data[$name]) ) return $this->data[$name]; else return $this->data[$name] = new set($this); } function __set($name, $value) { $this->modified[$name] = $value; } } class set implements ArrayAccess { private $entity; function __construct($entity) { $this->entity = $entity; $this->entity->whatever = $this; } function clear() { $this->entity->whatever = null; } function offsetUnset($offset) { $this->clear(); // $this->entity->{$this->name} = null; } function offsetSet($offset, $value) { } function offsetGet($offset) { return 'Bogus '; } function offsetExists($offset) { } } $entity = new entity(); echo($entity->whatever[0]); //This will crash // $entity->whatever->clear(); unset($entity->whatever[0]); //This will not crash (comment previous & uncomment this to test // $test = $entity->whatever; unset($test[0]); echo($entity->whatever[0]); echo "ok\n"; ?> --EXPECT-- Bogus Bogus ok
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare