summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 7bc830da2b..7544fdb141 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -863,8 +863,12 @@ ZEND_API zend_class_entry *zend_lookup_class_ex(zend_string *name, zend_string *
zend_string_release_ex(lc_name, 0);
}
ce = (zend_class_entry*)Z_PTR_P(zv);
- if (UNEXPECTED(!(ce->ce_flags & ZEND_ACC_LINKED)) &&
- !(flags & ZEND_FETCH_CLASS_ALLOW_UNLINKED)) {
+ if (UNEXPECTED(!(ce->ce_flags & ZEND_ACC_LINKED))) {
+ if ((flags & ZEND_FETCH_CLASS_ALLOW_UNLINKED) ||
+ ((flags & ZEND_FETCH_CLASS_ALLOW_NEARLY_LINKED) &&
+ (ce->ce_flags & ZEND_ACC_NEARLY_LINKED))) {
+ return ce;
+ }
return NULL;
}
return ce;