summaryrefslogtreecommitdiff
path: root/Zend/zend_inheritance.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-08-28 18:58:49 +0200
committerNikita Popov <nikic@php.net>2015-08-28 19:00:05 +0200
commitccec609b82b69ef96bc52f7c563c7eb8a68f99a0 (patch)
treea28a647f596f29cfdd64e8065b600f01599fe66b /Zend/zend_inheritance.c
parent7f2261d24a1304d144ad2ba60ad3fd70be923f35 (diff)
downloadphp-git-ccec609b82b69ef96bc52f7c563c7eb8a68f99a0.tar.gz
Fix bug #62441
These checks were introduced by 8646d9afce989718cde927c526684bbbc1c96e97 back when name resolution was working differently.
Diffstat (limited to 'Zend/zend_inheritance.c')
-rw-r--r--Zend/zend_inheritance.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c
index 0d02bf7797..73b67f5216 100644
--- a/Zend/zend_inheritance.c
+++ b/Zend/zend_inheritance.c
@@ -213,15 +213,11 @@ static int zend_do_perform_type_hint_check(const zend_function *fe, zend_arg_inf
}
if (strcasecmp(ZSTR_VAL(fe_class_name), ZSTR_VAL(proto_class_name)) != 0) {
- const char *colon;
-
if (fe->common.type != ZEND_USER_FUNCTION) {
zend_string_release(proto_class_name);
zend_string_release(fe_class_name);
return 0;
- } else if (strchr(ZSTR_VAL(proto_class_name), '\\') != NULL ||
- (colon = zend_memrchr(ZSTR_VAL(fe_class_name), '\\', ZSTR_LEN(fe_class_name))) == NULL ||
- strcasecmp(colon+1, ZSTR_VAL(proto_class_name)) != 0) {
+ } else {
zend_class_entry *fe_ce, *proto_ce;
fe_ce = zend_lookup_class(fe_class_name);