diff --git a/ext/standard/string.c b/ext/standard/string.c index 8943a37bed55..bfa2d57088af 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2570,8 +2570,9 @@ PHP_FUNCTION(chr) Uppercase the first character of the word in a native string */ static zend_string* php_ucfirst(zend_string *str) { - unsigned char r = toupper(ZSTR_VAL(str)[0]); - if (r == ZSTR_VAL(str)[0]) { + const unsigned char ch = ZSTR_VAL(str)[0]; + unsigned char r = toupper(ch); + if (r == ch) { return zend_string_copy(str); } else { zend_string *s = zend_string_init(ZSTR_VAL(str), ZSTR_LEN(str), 0);