Annotation of embedaddon/php/Zend/tests/bug32674.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #32674 (exception in iterator causes crash)
! 3: --FILE--
! 4: <?php
! 5: class collection implements Iterator {
! 6:
! 7: private $_elements = array();
! 8:
! 9: public function __construct() {
! 10: }
! 11:
! 12: public function rewind() {
! 13: reset($this->_elements);
! 14: }
! 15:
! 16: public function count() {
! 17: return count($this->_elements);
! 18: }
! 19:
! 20: public function current() {
! 21: $element = current($this->_elements);
! 22: return $element;
! 23: }
! 24:
! 25: public function next() {
! 26: $element = next($this->_elements);
! 27: return $element;
! 28: }
! 29:
! 30: public function key() {
! 31: $this->_fillCollection();
! 32: $element = key($this->_elements);
! 33: return $element;
! 34: }
! 35:
! 36: public function valid() {
! 37: throw new Exception('shit happend');
! 38:
! 39: return ($this->current() !== false);
! 40: }
! 41: }
! 42:
! 43: class class2 {
! 44: public $dummy;
! 45: }
! 46:
! 47: $obj = new class2();
! 48: $col = new collection();
! 49:
! 50: try {
! 51: foreach($col as $co) {
! 52: //irrelevant
! 53: }
! 54: echo 'shouldn`t get here';
! 55: //$dummy = 'this will not crash';
! 56: $obj->dummy = 'this will crash';
! 57: } catch (Exception $e) {
! 58: echo "ok\n";
! 59: }
! 60: ?>
! 61: --EXPECT--
! 62: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>