From: Marcus Boerger Date: Mon, 29 Aug 2005 22:11:53 +0000 (+0000) Subject: - Fix #34299: ReflectionClass::isInstantiable() returns true for abstract classes X-Git-Tag: PRE_NEW_OCI8_EXTENSION~70 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=51e3db28eac41d46d89f562f67e0080e5bb2d88b;p=php - Fix #34299: ReflectionClass::isInstantiable() returns true for abstract classes --- diff --git a/Zend/zend_reflection_api.c b/Zend/zend_reflection_api.c index b38c137cf4..897a3ec1e4 100644 --- a/Zend/zend_reflection_api.c +++ b/Zend/zend_reflection_api.c @@ -2926,7 +2926,7 @@ ZEND_METHOD(reflection_class, isInstantiable) METHOD_NOTSTATIC_NUMPARAMS(0); GET_REFLECTION_OBJECT_PTR(ce); - if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_ABSTRACT)) { + if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_EXPLICIT_ABSTRACTCLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) { RETURN_FALSE; } diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index b38c137cf4..897a3ec1e4 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -2926,7 +2926,7 @@ ZEND_METHOD(reflection_class, isInstantiable) METHOD_NOTSTATIC_NUMPARAMS(0); GET_REFLECTION_OBJECT_PTR(ce); - if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_ABSTRACT)) { + if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_EXPLICIT_ABSTRACTCLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) { RETURN_FALSE; }