1--TEST-- 2Bug #32674 (exception in iterator causes crash) 3--FILE-- 4<?php 5class 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 43class class2 { 44 public $dummy; 45} 46 47$obj = new class2(); 48$col = new collection(); 49 50try { 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-- 62ok 63