1--TEST-- 2is_callable() with trampoline should not caused UAF [original test with deprecated syntax] 3--FILE-- 4<?php 5 6class B {} 7class A extends B { 8 public function bar($func) { 9 var_dump(is_callable(array('parent', 'foo'))); 10 } 11 12 public function __call($func, $args) { 13 } 14} 15 16class X { 17 public static function __callStatic($func, $args) { 18 } 19} 20 21$a = new A(); 22// Extra X::foo() wrapper to force use of allocated trampoline. 23X::foo($a->bar('foo')); 24 25?> 26--EXPECTF-- 27Deprecated: Use of "parent" in callables is deprecated in %s on line %d 28bool(false) 29