From dfc6feb6e84f27094e6a2e3947caa094f7c35d26 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 29 Aug 2013 11:16:56 +0400 Subject: Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien) --- Zend/zend_API.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Zend/zend_API.c') 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++; -- cgit v1.2.1