summaryrefslogtreecommitdiff
path: root/Zend/tests/bug34260.phpt
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-09-02 07:47:28 +0000
committerDmitry Stogov <dmitry@php.net>2005-09-02 07:47:28 +0000
commit6319efa013ecca8d50918ccde7c5fc18113fdc81 (patch)
tree7bce4351061b77c517e2681692611c75e434dc9e /Zend/tests/bug34260.phpt
parent44840ace8ece5eb95fb5ad89e0a65680fa0ca3c5 (diff)
downloadphp-git-6319efa013ecca8d50918ccde7c5fc18113fdc81.tar.gz
Fixed bug #34260 (Segfault with callbacks (array_map) + overloading)
Diffstat (limited to 'Zend/tests/bug34260.phpt')
-rwxr-xr-xZend/tests/bug34260.phpt36
1 files changed, 36 insertions, 0 deletions
diff --git a/Zend/tests/bug34260.phpt b/Zend/tests/bug34260.phpt
new file mode 100755
index 0000000000..fa393d065c
--- /dev/null
+++ b/Zend/tests/bug34260.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Bug #34260 (Segfault with callbacks (array_map) + overloading)
+--FILE--
+<?php
+class Faulty
+{
+ function __call($Method,$Args)
+ {
+ switch($Method)
+ {
+ case 'seg':
+ echo "I hate me\n";
+ break;
+ }
+ }
+
+ function NormalMethod($Args)
+ {
+ echo "I heart me\n";
+ }
+}
+
+$Faulty = new Faulty();
+$Array = array('Some junk','Some other junk');
+
+// This causes a seg fault.
+$Failure = array_map(array($Faulty,'seg'),$Array);
+
+// This does not.
+$Failure = array_map(array($Faulty,'NormalMethod'),$Array);
+?>
+--EXPECT--
+I hate me
+I hate me
+I heart me
+I heart me