summaryrefslogtreecommitdiff
path: root/ext/reflection/tests
diff options
context:
space:
mode:
authorFelipe Pena <felipensp@gmail.com>2012-06-22 12:05:29 -0300
committerFelipe Pena <felipensp@gmail.com>2012-06-22 12:05:29 -0300
commitb8e946b02eac53f46cbfc8eefb5c91fb5b075c9d (patch)
tree87d9b8277f4356c39dacf6fba028bf433b371a68 /ext/reflection/tests
parent055ecbc62878e86287d742c7246c21606cee8183 (diff)
downloadphp-git-b8e946b02eac53f46cbfc8eefb5c91fb5b075c9d.tar.gz
- Fixed bug #62384 (Attempting to invoke a Closure more than once causes segfaul)
Diffstat (limited to 'ext/reflection/tests')
-rw-r--r--ext/reflection/tests/bug62384.phpt21
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/reflection/tests/bug62384.phpt b/ext/reflection/tests/bug62384.phpt
new file mode 100644
index 0000000000..90a871fa2a
--- /dev/null
+++ b/ext/reflection/tests/bug62384.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Bug #62384 (Attempting to invoke a Closure more than once causes segfaul)
+--FILE--
+<?php
+
+$closure1 = function($val){ return $val; };
+$closure2 = function($val){ return $val; };
+
+$reflection_class = new ReflectionClass($closure1);
+$reflection_method = $reflection_class->getMethod('__invoke');
+
+$arguments1 = array('hello');
+$arguments2 = array('world');
+
+var_dump($reflection_method->invokeArgs($closure1, $arguments1));
+var_dump($reflection_method->invokeArgs($closure2, $arguments2));
+
+?>
+--EXPECT--
+string(5) "hello"
+string(5) "world"