diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index cbc12765a2528..ba398e18ae078 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -3617,8 +3617,8 @@ static zend_always_inline zval* zend_fetch_static_property_address(zend_property if (opline->op1_type == IS_CONST && (opline->op2_type == IS_CONST || (opline->op2_type == IS_UNUSED - && (opline->op2.num == ZEND_FETCH_CLASS_SELF - || opline->op2.num == ZEND_FETCH_CLASS_PARENT))) + && ((opline->op2.num & ZEND_FETCH_CLASS_MASK) == ZEND_FETCH_CLASS_SELF + || (opline->op2.num & ZEND_FETCH_CLASS_MASK) == ZEND_FETCH_CLASS_PARENT))) && EXPECTED(CACHED_PTR(cache_slot + sizeof(void *)) != NULL)) { result = CACHED_PTR(cache_slot + sizeof(void *)); property_info = CACHED_PTR(cache_slot + sizeof(void *) * 2);