31 lines
413 B
Plaintext
31 lines
413 B
Plaintext
|
|
--TEST--
|
||
|
|
Bug #30725 (PHP segfaults when an exception is thrown in getIterator() within foreach)
|
||
|
|
--FILE--
|
||
|
|
<?php
|
||
|
|
|
||
|
|
class Test implements IteratorAggregate
|
||
|
|
{
|
||
|
|
function getIterator(): Traversable
|
||
|
|
{
|
||
|
|
throw new Exception();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
try
|
||
|
|
{
|
||
|
|
$it = new Test;
|
||
|
|
foreach($it as $v)
|
||
|
|
{
|
||
|
|
echo "Fail\n";
|
||
|
|
}
|
||
|
|
echo "Wrong\n";
|
||
|
|
}
|
||
|
|
catch(Exception $e)
|
||
|
|
{
|
||
|
|
echo "Caught\n";
|
||
|
|
}
|
||
|
|
|
||
|
|
?>
|
||
|
|
--EXPECT--
|
||
|
|
Caught
|