1234567891011121314151617181920212223242526272829303132333435363738394041 |
- --TEST--
- Bug #42703 (Exception raised in an iterator::current() causes segfault in FilterIterator)
- --FILE--
- <?php
- class BlaIterator implements Iterator
- {
- public function rewind(): void { }
- public function next(): void { }
- public function valid(): bool {
- return true;
- }
- public function current(): mixed
- {
- throw new Exception('boo');
- }
- public function key(): mixed { return null; }
- }
- $it = new BlaIterator();
- $itit = new IteratorIterator($it);
- try {
- foreach($itit as $key => $value) {
- echo $key, $value;
- }
- }
- catch (Exception $e) {
- var_dump($e->getMessage());
- }
- var_dump($itit->current());
- var_dump($itit->key());
- ?>
- --EXPECT--
- string(3) "boo"
- NULL
- NULL
|