diff options
-rw-r--r-- | tests/classes/bug27504.phpt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/classes/bug27504.phpt b/tests/classes/bug27504.phpt new file mode 100644 index 0000000000..64d68ba8ae --- /dev/null +++ b/tests/classes/bug27504.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #27504 (call_user_func_array allows calling of private/protected methods) +--FILE-- +<?php + class foo { + function __construct () { + $this->bar('1'); + } + private function bar ( $param ) { + echo 'Called function foo:bar('.$param.')'."\n"; + } + } + + $foo = new foo(); + + call_user_func_array( array( $foo , 'bar' ) , array( '2' ) ); + + $foo->bar('3'); +?> +--EXPECTF-- +Called function foo:bar(%d) + +Fatal error: Call to private method foo::bar() from context '' in %s on line 13 + |