bug70228_4.phpt 568 B

1234567891011121314151617181920212223242526272829303132
  1. --TEST--
  2. Bug #70228 (memleak if return in finally block)
  3. --FILE--
  4. <?php
  5. function test() {
  6. try {
  7. throw new Exception(1);
  8. } finally {
  9. try {
  10. try {
  11. try {
  12. } finally {
  13. return 42;
  14. }
  15. } finally {
  16. throw new Exception(3);
  17. }
  18. } catch (Exception $e) {}
  19. }
  20. }
  21. try {
  22. var_dump(test());
  23. } catch (Exception $e) {
  24. do {
  25. echo $e->getMessage() . "\n";
  26. $e = $e->getPrevious();
  27. } while ($e);
  28. }
  29. ?>
  30. --EXPECT--
  31. 1