From d39d261b7eba3c4ee91e7387713a9e42dde8112f Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 31 May 2025 15:21:44 +0200 Subject: [PATCH] Fix memory leak in lookup_loc_range() Closes GH-18723. --- NEWS | 1 + ext/intl/locale/locale_methods.c | 1 + 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 02b90ff3dc7..40806102246 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,7 @@ PHP NEWS - Intl: . Fix memory leak in intl_datetime_decompose() on failure. (nielsdos) + . Fix memory leak in locale lookup on failure. (nielsdos) - Phar: . Add missing filter cleanups on phar failure. (nielsdos) diff --git a/ext/intl/locale/locale_methods.c b/ext/intl/locale/locale_methods.c index f810a61b6be..44ae9a901a5 100644 --- a/ext/intl/locale/locale_methods.c +++ b/ext/intl/locale/locale_methods.c @@ -1499,6 +1499,7 @@ static zend_string* lookup_loc_range(const char* loc_range, HashTable* hash_arr, zend_string_release_ex(can_loc_range, 0); } if(result == 0) { + efree(cur_loc_range); intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR, "lookup_loc_range: unable to canonicalize lang_tag" , 0); LOOKUP_CLEAN_RETURN(NULL); }