bug50261.phpt 724 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Bug #50261 (Crash When Calling Parent Constructor with call_user_func())
  3. --FILE--
  4. <?php
  5. class testClass {
  6. function testClass($x) {
  7. echo __METHOD__, " (". $x . ")\n";
  8. }
  9. }
  10. class testClass2 extends testClass {
  11. function __construct() {
  12. static $x = 0;
  13. if ($x) {
  14. print "Infinite loop...\n";
  15. } else {
  16. $x++;
  17. parent::__construct(1);
  18. testclass::__construct(2);
  19. call_user_func(array('parent', '__construct'), 3);
  20. call_user_func(array('testclass', '__construct'), 4);
  21. call_user_func(array('testclass', 'testclass'), 5);
  22. }
  23. }
  24. }
  25. new testClass2;
  26. ?>
  27. --EXPECT--
  28. testClass::testClass (1)
  29. testClass::testClass (2)
  30. testClass::testClass (3)
  31. testClass::testClass (4)
  32. testClass::testClass (5)