Commit: dde552f2ee921550646c4236471c1252a9534b52 Author: Xinchen Hui <larue...@gmail.com> Fri, 13 Dec 2013 01:45:45 +0800 Parents: 54213b462d725aa10088909feceac63aaa1896d8 Branches: PHP-5.5
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=dde552f2ee921550646c4236471c1252a9534b52 Log: Add Tests for #65784 in 5.5 Bugs: https://bugs.php.net/65784 Changed paths: A Zend/tests/bug65784.phpt Diff: diff --git a/Zend/tests/bug65784.phpt b/Zend/tests/bug65784.phpt new file mode 100644 index 0000000..adc3411 --- /dev/null +++ b/Zend/tests/bug65784.phpt @@ -0,0 +1,62 @@ +--TEST-- +Fixed Bug #65784 (Segfault with finally) +--XFAIL-- +This bug is not fixed in 5.5 due to ABI BC +--FILE-- +<?php +function foo1() { + try { + throw new Exception("not catch"); + return true; + } finally { + try { + throw new Exception("catched"); + } catch (Exception $e) { + } + } +} +try { + $foo = foo1(); + var_dump($foo); +} catch (Exception $e) { + do { + var_dump($e->getMessage()); + } while ($e = $e->getPrevious()); +} + +function foo2() { + try { + try { + throw new Exception("catched"); + return true; + } finally { + try { + throw new Exception("catched"); + } catch (Exception $e) { + } + } + } catch (Exception $e) { + } +} + +$foo = foo2(); +var_dump($foo); + +function foo3() { + try { + throw new Exception("not catched"); + return true; + } finally { + try { + throw new NotExists(); + } catch (Exception $e) { + } + } +} + +$bar = foo3(); +--EXPECTF-- +string(9) "not catch" +NULL + +Fatal error: Class 'NotExists' not found in %sbug65784.php on line %d -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php