diff options
author | Lars Strojny <lstrojny@php.net> | 2012-08-28 14:06:18 +0200 |
---|---|---|
committer | Lars Strojny <lstrojny@php.net> | 2012-08-28 14:06:18 +0200 |
commit | f82dd2c77463e01cbcc9912be08f5e45cb1a384c (patch) | |
tree | 6a0f37057328dd609fe59d22cbe87a22fac31ddd /Zend/zend_compile.c | |
parent | c11106734d0fbccccd81ac8332e5a4132d0c6a06 (diff) | |
download | php-git-f82dd2c77463e01cbcc9912be08f5e45cb1a384c.tar.gz |
Bug #62956: fixing private method signature validation
In inheritance, if both methods are private, don not enforce the same
signature.
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r-- | Zend/zend_compile.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 09383c12d0..bf458e114f 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2935,6 +2935,11 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c return 1; } + /* If both methods are private do not enforce a signature */ + if ((fe->common.fn_flags & ZEND_ACC_PRIVATE) && (proto->common.fn_flags & ZEND_ACC_PRIVATE)) { + return 1; + } + /* check number of arguments */ if (proto->common.required_num_args < fe->common.required_num_args || proto->common.num_args > fe->common.num_args) { |