diff options
Diffstat (limited to 'external')
-rw-r--r-- | external/icu/UnpackedTarball_icu.mk | 1 | ||||
-rw-r--r-- | external/icu/icu4c-ubsan.patch.0 | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index 77cd38a8bb1f..c550f83ff834 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\ external/icu/icu4c-mkdir.patch \ external/icu/icu4c-buffer-overflow.patch \ external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch \ + external/icu/icu4c-ubsan.patch.0 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/icu/icu4c-ubsan.patch.0 b/external/icu/icu4c-ubsan.patch.0 new file mode 100644 index 000000000000..991c537acc0a --- /dev/null +++ b/external/icu/icu4c-ubsan.patch.0 @@ -0,0 +1,22 @@ +--- source/common/ustring.cpp ++++ source/common/ustring.cpp +@@ -1486,7 +1486,7 @@ + */ + + #define STRING_HASH(TYPE, STR, STRLEN, DEREF) \ +- int32_t hash = 0; \ ++ uint32_t hash = 0; \ + const TYPE *p = (const TYPE*) STR; \ + if (p != NULL) { \ + int32_t len = (int32_t)(STRLEN); \ +--- source/i18n/ucol_tok.cpp ++++ source/i18n/ucol_tok.cpp +@@ -48,7 +48,7 @@ + static int32_t U_CALLCONV + uhash_hashTokens(const UHashTok k) + { +- int32_t hash = 0; ++ uint32_t hash = 0; + //uint32_t key = (uint32_t)k.integer; + UColToken *key = (UColToken *)k.pointer; + if (key != 0) { |