mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3: Fixed bug #63468 (wrong called method as callback with inheritance) Conflicts: NEWS
This commit is contained in:
commit
111aa9fd2e
3 changed files with 33 additions and 1 deletions
2
NEWS
2
NEWS
|
@ -3,6 +3,8 @@ PHP NEWS
|
|||
?? ??? 2012, PHP 5.4.9
|
||||
|
||||
- Core:
|
||||
. Fixed bug #63468 (wrong called method as callback with inheritance).
|
||||
(Laruence)
|
||||
. Fixed bug #63305 (zend_mm_heap corrupted with traits). (Dmitry, Laruence)
|
||||
. Fixed bug #63369 ((un)serialize() leaves dangling pointers, causes crashes).
|
||||
(Tony, Andrew Sitnikov)
|
||||
|
|
30
Zend/tests/bug63468.phpt
Normal file
30
Zend/tests/bug63468.phpt
Normal file
|
@ -0,0 +1,30 @@
|
|||
--TEST--
|
||||
Bug #63468 (wrong called method as callback with inheritance)
|
||||
--FILE--
|
||||
<?php
|
||||
class Foo
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
return call_user_func(array('Bar', 'getValue'));
|
||||
}
|
||||
|
||||
private static function getValue()
|
||||
{
|
||||
return 'Foo';
|
||||
}
|
||||
}
|
||||
|
||||
class Bar extends Foo
|
||||
{
|
||||
public static function getValue()
|
||||
{
|
||||
return 'Bar';
|
||||
}
|
||||
}
|
||||
|
||||
$x = new Bar;
|
||||
var_dump($x->run());
|
||||
--EXPECT--
|
||||
string(3) "Bar"
|
||||
|
|
@ -2732,7 +2732,7 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
|
|||
} else if (zend_hash_find(ftable, lmname, mlen+1, (void**)&fcc->function_handler) == SUCCESS) {
|
||||
retval = 1;
|
||||
if ((fcc->function_handler->op_array.fn_flags & ZEND_ACC_CHANGED) &&
|
||||
EG(scope) &&
|
||||
!strict_class && EG(scope) &&
|
||||
instanceof_function(fcc->function_handler->common.scope, EG(scope) TSRMLS_CC)) {
|
||||
zend_function *priv_fbc;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue