diff options
| author | Tyson Andre <tysonandre775@hotmail.com> | 2019-02-18 09:35:45 -0500 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-02-19 10:07:40 +0100 |
| commit | 12ffee57d6adf38f8dd8b39ea7f7a5e4c462d358 (patch) | |
| tree | 3aa2352aea809ce81f1f84529d68b175fe791e53 /Zend/zend_builtin_functions.c | |
| parent | cdfe11f80d5affd6d5386d84dff0d81323b60bc4 (diff) | |
| download | php-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.c | 3 |
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(); |
