aboutsummaryrefslogtreecommitdiffstats
path: root/main/icu/cve-2011-4599.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/icu/cve-2011-4599.patch')
-rw-r--r--main/icu/cve-2011-4599.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/main/icu/cve-2011-4599.patch b/main/icu/cve-2011-4599.patch
new file mode 100644
index 0000000000..4243370c9a
--- /dev/null
+++ b/main/icu/cve-2011-4599.patch
@@ -0,0 +1,20 @@
+--- ./common/uloc.c.orig
++++ ./common/uloc.c
+@@ -1797,7 +1797,7 @@
+ 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 @@
+ break;
+ }
+ }
+- if (name[len-1] == '_') { /* delete trailing '_' */
++ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
+ --len;
+ }
+ }