bug30725.phpt 395 B

1234567891011121314151617181920212223242526272829303132
  1. --TEST--
  2. Bug #30725 (PHP segfaults when an exception is thrown in getIterator() within foreach)
  3. --FILE--
  4. <?php
  5. class Test implements IteratorAggregate
  6. {
  7. function getIterator()
  8. {
  9. throw new Exception();
  10. }
  11. }
  12. try
  13. {
  14. $it = new Test;
  15. foreach($it as $v)
  16. {
  17. echo "Fail\n";
  18. }
  19. echo "Wrong\n";
  20. }
  21. catch(Exception $e)
  22. {
  23. echo "Caught\n";
  24. }
  25. ?>
  26. ===DONE===
  27. --EXPECT--
  28. Caught
  29. ===DONE===