diff options
author | Felipe Pena <felipe@php.net> | 2009-11-23 23:07:07 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2009-11-23 23:07:07 +0000 |
commit | a83156d5c12e671439da27f254de7462811793b5 (patch) | |
tree | 6e8459ff0d15b31dd51550a6e49e90aecc31170d | |
parent | 5f8df17097944149d26212243f34d66249a7ac3c (diff) | |
download | php-git-a83156d5c12e671439da27f254de7462811793b5.tar.gz |
- Added test for bug #50261
-rw-r--r-- | Zend/tests/bug50261.phpt | 38 |
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) |