bug69446.phpt 498 B

1234567891011121314151617181920212223242526272829303132
  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. --EXPECT--
  23. object(bad)#2 (2) {
  24. ["x"]=>
  25. object(stdClass)#3 (0) {
  26. }
  27. ["y"]=>
  28. object(stdClass)#4 (0) {
  29. }
  30. }