summaryrefslogtreecommitdiff
path: root/Zend/zend_builtin_functions.c
diff options
context:
space:
mode:
authorTyson Andre <tysonandre775@hotmail.com>2019-02-18 09:35:45 -0500
committerNikita Popov <nikita.ppv@gmail.com>2019-02-19 10:07:40 +0100
commit12ffee57d6adf38f8dd8b39ea7f7a5e4c462d358 (patch)
tree3aa2352aea809ce81f1f84529d68b175fe791e53 /Zend/zend_builtin_functions.c
parentcdfe11f80d5affd6d5386d84dff0d81323b60bc4 (diff)
downloadphp-git-12ffee57d6adf38f8dd8b39ea7f7a5e4c462d358.tar.gz
Fixed bug #77631
Do not include unbound anonymous classes in get_declared_classes(). Note that earlier PHP versions would include the anonymous class in get_declared_classes(), and return false until the class was bound, but would not crash.
Diffstat (limited to 'Zend/zend_builtin_functions.c')
-rw-r--r--Zend/zend_builtin_functions.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 2b16991d1c..f588229aff 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1796,7 +1796,8 @@ ZEND_FUNCTION(get_declared_classes)
ZEND_HASH_FOREACH_STR_KEY_PTR(EG(class_table), key, ce) {
if (key
&& ZSTR_VAL(key)[0] != 0
- && !(ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT))) {
+ && !(ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT))
+ && (ce->ce_flags & ZEND_ACC_LINKED)) {
copy_class_or_interface_name(return_value, key, ce);
}
} ZEND_HASH_FOREACH_END();