From: Nikita Popov Date: Thu, 20 Jul 2017 16:09:05 +0000 (+0200) Subject: Free last_used_encoding_name in RSHUTDOWN X-Git-Tag: php-7.3.0alpha1~1868 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77cb7bd837b128340fe9a2511681dd0d3c7222c5;p=php Free last_used_encoding_name in RSHUTDOWN efree() cannot be used in GSHUTDOWN --- diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 44a8a1da4c..9674a8371a 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1577,9 +1577,6 @@ static PHP_GSHUTDOWN_FUNCTION(mbstring) #if HAVE_MBREGEX php_mb_regex_globals_free(mbstring_globals->mb_regex_globals); #endif - if (mbstring_globals->last_used_encoding_name) { - efree(mbstring_globals->last_used_encoding_name); - } } /* }}} */ @@ -1723,6 +1720,11 @@ PHP_RSHUTDOWN_FUNCTION(mbstring) MBSTRG(http_input_identify_cookie) = NULL; MBSTRG(http_input_identify_string) = NULL; + if (MBSTRG(last_used_encoding_name)) { + efree(MBSTRG(last_used_encoding_name)); + MBSTRG(last_used_encoding_name) = NULL; + } + /* clear overloaded function. */ if (MBSTRG(func_overload)){ p = &(mb_ovld[0]);