mirror of
https://abf.rosa.ru/djam/icu.git
synced 2025-02-23 10:52:49 +00:00
24 lines
1 KiB
Diff
24 lines
1 KiB
Diff
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=765812
|
|
(icu-4.2.1-9.1.el6_2.src.rpm)
|
|
|
|
--- source/common/uloc.c 2011-05-23 21:56:08.000000000 +0000
|
|
+++ source/common/uloc.c.oden 2011-12-27 10:20:29.000000000 +0000
|
|
@@ -1797,7 +1797,7 @@ _canonicalize(const char* localeID,
|
|
int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n);
|
|
len -= variantLen;
|
|
if (variantLen > 0) {
|
|
- if (name[len-1] == '_') { /* delete trailing '_' */
|
|
+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
|
|
--len;
|
|
}
|
|
addKeyword = VARIANT_MAP[j].keyword;
|
|
@@ -1805,7 +1805,7 @@ _canonicalize(const char* localeID,
|
|
break;
|
|
}
|
|
}
|
|
- if (name[len-1] == '_') { /* delete trailing '_' */
|
|
+ if (len > 0 && len <= nameCapacity && name[len-1] == '_') { /* delete trailing '_' */
|
|
--len;
|
|
}
|
|
}
|