summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2002-12-10 09:04:12 +0000
committerZeev Suraski <zeev@php.net>2002-12-10 09:04:12 +0000
commit66aba3c568091a136d4a155b22deaba9dbeeaa4f (patch)
treee807dd330155546b9b331b37bc387d0a0e69889d /Zend
parentaa4c85dda157762da5a4f8f73a400d52f2ffa023 (diff)
downloadphp-git-66aba3c568091a136d4a155b22deaba9dbeeaa4f.tar.gz
Fix check to allow for static+access level modifiers
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend_compile.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 7f4ede57bb..4bda7474eb 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -912,7 +912,8 @@ void zend_do_free(znode *op1 TSRMLS_DC)
int zend_do_verify_access_types(znode *current_access_type, znode *new_modifier)
{
- if (current_access_type->u.constant.value.lval & ZEND_ACC_PPP_MASK) {
+ if ((new_modifier->u.constant.value.lval & ZEND_ACC_PPP_MASK)
+ && ((current_access_type->u.constant.value.lval & ZEND_ACC_PPP_MASK) != (new_modifier->u.constant.value.lval & ZEND_ACC_PPP_MASK))) {
zend_error(E_COMPILE_ERROR, "Multiple access type modifiers are not allowed");
}
return (current_access_type->u.constant.value.lval | new_modifier->u.constant.value.lval);