bug69446_2.phpt 556 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. {
  10. public $_private = array();
  11. public function __construct()
  12. {
  13. $this->_private[] = 'php';
  14. }
  15. public function __destruct()
  16. {
  17. global $bar;
  18. $bar = $this;
  19. }
  20. }
  21. $foo = new stdclass;
  22. $foo->foo = $foo;
  23. $foo->bad = new bad;
  24. unserialize(serialize($foo));
  25. //unset($foo);
  26. gc_collect_cycles();
  27. var_dump($bar);
  28. --EXPECT--
  29. object(bad)#4 (1) {
  30. ["_private"]=>
  31. array(1) {
  32. [0]=>
  33. string(3) "php"
  34. }
  35. }