summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/bug50261.phpt38
1 files changed, 38 insertions, 0 deletions
diff --git a/Zend/tests/bug50261.phpt b/Zend/tests/bug50261.phpt
new file mode 100644
index 0000000000..271a2c4805
--- /dev/null
+++ b/Zend/tests/bug50261.phpt
@@ -0,0 +1,38 @@
+--TEST--
+Bug #50261 (Crash When Calling Parent Constructor with call_user_func())
+--FILE--
+<?php
+
+class testClass {
+ function testClass($x) {
+ echo __METHOD__, " (". $x . ")\n";
+ }
+}
+
+class testClass2 extends testClass {
+ function __construct() {
+ static $x = 0;
+
+ if ($x) {
+ print "Infinite loop...\n";
+ } else {
+ $x++;
+
+ parent::__construct(1);
+ testclass::__construct(2);
+ call_user_func(array('parent', '__construct'), 3);
+ call_user_func(array('testclass', '__construct'), 4);
+ call_user_func(array('testclass', 'testclass'), 5);
+ }
+ }
+}
+
+new testClass2;
+
+?>
+--EXPECT--
+testClass::testClass (1)
+testClass::testClass (2)
+testClass::testClass (3)
+testClass::testClass (4)
+testClass::testClass (5)