summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2013-08-29 11:16:56 +0400
committerDmitry Stogov <dmitry@zend.com>2013-08-29 11:16:56 +0400
commitdfc6feb6e84f27094e6a2e3947caa094f7c35d26 (patch)
tree56dd613af044ab9ef6f39ed02cb464fbb36e3f79 /Zend/zend_API.c
parent15694f66b2732962b760463803a68a1fa3bb098f (diff)
downloadphp-git-dfc6feb6e84f27094e6a2e3947caa094f7c35d26.tar.gz
Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 620a8f0a27..125a1a2564 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2514,7 +2514,12 @@ ZEND_API int zend_register_class_alias_ex(const char *name, int name_len, zend_c
char *lcname = zend_str_tolower_dup(name, name_len);
int ret;
- ret = zend_hash_add(CG(class_table), lcname, name_len+1, &ce, sizeof(zend_class_entry *), NULL);
+ if (lcname[0] == '\\') {
+ ret = zend_hash_add(CG(class_table), lcname+1, name_len, &ce, sizeof(zend_class_entry *), NULL);
+ } else {
+ ret = zend_hash_add(CG(class_table), lcname, name_len+1, &ce, sizeof(zend_class_entry *), NULL);
+ }
+
efree(lcname);
if (ret == SUCCESS) {
ce->refcount++;