diff options
-rw-r--r-- | Zend/zend_builtin_functions.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index ba53261077..e2fb5dd001 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -616,13 +616,14 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass) } else { if (only_subclass) { instance_ce = Z_OBJCE_PP(obj)->parent; - if (!instance_ce) { - RETURN_FALSE; - } } else { instance_ce = Z_OBJCE_PP(obj); } + if (!instance_ce) { + RETURN_FALSE; + } + if (instanceof_function(instance_ce, *ce TSRMLS_CC)) { retval = 1; } else { |