summaryrefslogtreecommitdiffstats
path: root/external/icu/icu-ubsan.patch.0
diff options
context:
space:
mode:
Diffstat (limited to 'external/icu/icu-ubsan.patch.0')
-rw-r--r--external/icu/icu-ubsan.patch.010
1 files changed, 10 insertions, 0 deletions
diff --git a/external/icu/icu-ubsan.patch.0 b/external/icu/icu-ubsan.patch.0
index 8a47242117c5..f16503eeb4ac 100644
--- a/external/icu/icu-ubsan.patch.0
+++ b/external/icu/icu-ubsan.patch.0
@@ -151,3 +151,13 @@
length(len), next(subNode) {}
virtual UBool operator==(const Node &other) const;
virtual int32_t markRightEdgesFirst(int32_t edgeNumber);
+--- source/i18n/collationdatareader.cpp
++++ source/i18n/collationdatareader.cpp
+@@ -419,6 +419,7 @@
+ tailoring.data, ts, fastLatinPrimaries, UPRV_LENGTHOF(fastLatinPrimaries));
+ if(options == ts.options && ts.variableTop != 0 &&
+ reorderCodesLength == ts.reorderCodesLength &&
++ reorderCodesLength != 0 &&
+ uprv_memcmp(reorderCodes, ts.reorderCodes, reorderCodesLength * 4) == 0 &&
+ fastLatinOptions == ts.fastLatinOptions &&
+ (fastLatinOptions < 0 ||