# https://github.com/unicode-org/icu/pull/2248 # https://github.com/unicode-org/icu/pull/2248.diff # # ICU bug: https://unicode-org.atlassian.net/browse/ICU-22198 diff --git a/intl/icu/source/common/uresbund.cpp b/intl/icu/source/common/uresbund.cpp index 17c0177a05c..81fb90e1384 100644 --- a/intl/icu/source/common/uresbund.cpp +++ b/intl/icu/source/common/uresbund.cpp @@ -202,7 +202,8 @@ typedef enum UResOpenType UResOpenType; */ static bool getParentLocaleID(char *name, const char *origName, UResOpenType openType) { // early out if the locale ID has a variant code or ends with _ - if (name[uprv_strlen(name) - 1] == '_' || hasVariant(name)) { + size_t nameLen = uprv_strlen(name); + if (!nameLen || name[nameLen - 1] == '_' || hasVariant(name)) { return chopLocale(name); }