bug69446.phpt 525 B

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. Bug #69446 (GC leak relating to removal of nested data after dtors run)
  3. --INI--
  4. zend.enable_gc = 1
  5. --FILE--
  6. <?php
  7. $bar = NULL;
  8. class bad {
  9. public function __destruct() {
  10. global $bar;
  11. $bar = $this;
  12. $bar->y = new stdClass;
  13. }
  14. }
  15. $foo = new stdClass;
  16. $foo->foo = $foo;
  17. $foo->bad = new bad;
  18. $foo->bad->x = new stdClass;
  19. unset($foo);
  20. gc_collect_cycles();
  21. var_dump($bar);
  22. ?>
  23. --EXPECT--
  24. object(bad)#2 (2) {
  25. ["x"]=>
  26. object(stdClass)#3 (0) {
  27. }
  28. ["y"]=>
  29. object(stdClass)#4 (0) {
  30. }
  31. }