bug79987.phpt 830 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Bug #79987 (Memory leak in SplFileInfo because of missing zend_restore_error_handling())
  3. --FILE--
  4. <?php
  5. class BadSplFileInfo extends SplFileInfo {
  6. public function __construct() {
  7. }
  8. }
  9. $x = new BadSplFileInfo();
  10. set_error_handler(function ($type, $msg, $file, $line, $context = []) {
  11. echo "ops\n";
  12. });
  13. try {
  14. var_dump($x->getLinkTarget());
  15. } catch (Throwable $e) {
  16. echo $e->getMessage() . "\n";
  17. }
  18. try {
  19. var_dump($x->getFilename());
  20. } catch (Throwable $e) {
  21. echo $e->getMessage() . "\n";
  22. }
  23. try {
  24. var_dump($x->getExtension());
  25. } catch (Throwable $e) {
  26. echo $e->getMessage() . "\n";
  27. }
  28. try {
  29. var_dump($x->getBasename());
  30. } catch (Throwable $e) {
  31. echo $e->getMessage() . "\n";
  32. }
  33. ?>
  34. --EXPECT--
  35. Object not initialized
  36. Object not initialized
  37. Object not initialized
  38. Object not initialized