From: Bruno Haible Date: Wed, 10 Dec 2025 21:22:39 +0000 (+0100) Subject: localename-unsafe: Improve Windows LCID lookup cache. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17d873bddaba8776fca8ceb2d5c180355deffd8e;p=thirdparty%2Fgnulib.git localename-unsafe: Improve Windows LCID lookup cache. * lib/localename-unsafe.c (get_lcid): Don't overrun the last_locale array. --- diff --git a/ChangeLog b/ChangeLog index 52ac60d385..d9e20d56b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2025-12-10 Bruno Haible + + localename-unsafe: Improve Windows LCID lookup cache. + * lib/localename-unsafe.c (get_lcid): Don't overrun the last_locale array. + 2025-12-10 Bruno Haible canonicalize-lgpl: Fix UMR introduced in recent change. diff --git a/lib/localename-unsafe.c b/lib/localename-unsafe.c index 9177b6939d..f70cedafbc 100644 --- a/lib/localename-unsafe.c +++ b/lib/localename-unsafe.c @@ -2586,7 +2586,7 @@ get_lcid (const char *locale_name) { /* A simple cache. */ static LCID last_lcid; - static char last_locale[1000]; + static char last_locale[sizeof (lname)]; /* Lock while looking for an LCID, to protect access to static variables: last_lcid, last_locale, found_lcid, and lname. */ @@ -2603,7 +2603,7 @@ get_lcid (const char *locale_name) if (found_lcid > 0) { last_lcid = found_lcid; - strcpy (last_locale, locale_name); + strcpy (last_locale, lname); } glwthread_mutex_unlock (&get_lcid_lock); return found_lcid;