From 2527a0fcfd949d811f7c015aa676e47a342751b8 Mon Sep 17 00:00:00 2001 From: Massimiliano Braglia Date: Tue, 21 Aug 2018 17:44:02 +0200 Subject: Fixed bug #75797 Fix zend_register_class_alias_ex() to use non-persistent strings for (non-persistent) userland classes. --- Zend/zend_API.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Zend/zend_API.c') diff --git a/Zend/zend_API.c b/Zend/zend_API.c index fedef6f574..7c4ae7a615 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2774,12 +2774,15 @@ ZEND_API zend_class_entry *zend_register_internal_interface(zend_class_entry *or ZEND_API int zend_register_class_alias_ex(const char *name, size_t name_len, zend_class_entry *ce) /* {{{ */ { zend_string *lcname; + int persistent; + + persistent = ce->type != ZEND_USER_CLASS; if (name[0] == '\\') { - lcname = zend_string_alloc(name_len-1, 1); + lcname = zend_string_alloc(name_len-1, persistent); zend_str_tolower_copy(ZSTR_VAL(lcname), name+1, name_len-1); } else { - lcname = zend_string_alloc(name_len, 1); + lcname = zend_string_alloc(name_len, persistent); zend_str_tolower_copy(ZSTR_VAL(lcname), name, name_len); } -- cgit v1.2.1