diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-04-11 12:40:24 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-04-11 12:40:24 +0200 |
commit | 213e95bb5bfd91e7946a540034cb6e2769c096cc (patch) | |
tree | a0f05e2a0028924cbfe1b148540cb7df5b52c392 | |
parent | a899383ff7c571cd7bd8a9cdef6be6ba77191de9 (diff) |
CLucene: Some trivial GCC -fsanitize=undefined fixes
Change-Id: I40132f735eabbead0a1f16d44dbd8878b03902ce
-rw-r--r-- | external/clucene/UnpackedTarball_clucene.mk | 1 | ||||
-rw-r--r-- | external/clucene/patches/clucene-ub.patch | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/external/clucene/UnpackedTarball_clucene.mk b/external/clucene/UnpackedTarball_clucene.mk index cda5b3aafee6..5148fb72fd37 100644 --- a/external/clucene/UnpackedTarball_clucene.mk +++ b/external/clucene/UnpackedTarball_clucene.mk @@ -30,6 +30,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,clucene,\ external/clucene/patches/clucene-warnings.patch \ external/clucene/patches/clucene-aix.patch \ external/clucene/patches/clucene-git1-win64.patch \ + external/clucene/patches/clucene-ub.patch \ )) ifneq ($(OS),WNT) diff --git a/external/clucene/patches/clucene-ub.patch b/external/clucene/patches/clucene-ub.patch new file mode 100644 index 000000000000..e1ca3131f301 --- /dev/null +++ b/external/clucene/patches/clucene-ub.patch @@ -0,0 +1,33 @@ +--- src/core/CLucene/index/DocumentsWriterThreadState.cpp ++++ src/core/CLucene/index/DocumentsWriterThreadState.cpp +@@ -994,7 +994,7 @@ + const TCHAR* tokenText = token->termBuffer(); + const int32_t tokenTextLen = token->termLength(); + +- int32_t code = 0; ++ uint32_t code = 0; + + // Compute hashcode + int32_t downto = tokenTextLen; +@@ -1203,7 +1203,7 @@ + const int32_t newMask = newSize-1; + + ValueArray<Posting*> newHash(newSize); +- int32_t hashPos, code; ++ int32_t hashPos; uint32_t code; + const TCHAR* pos = NULL; + const TCHAR* start = NULL; + Posting* p0; +--- src/core/CLucene/store/IndexInput.cpp ++++ src/core/CLucene/store/IndexInput.cpp +@@ -41,8 +41,8 @@ + } + + int64_t IndexInput::readLong() { +- int64_t i = ((int64_t)readInt() << 32); +- return (i | ((int64_t)readInt() & 0xFFFFFFFFL)); ++ uint64_t i = ((uint64_t)readInt() << 32); ++ return (i | ((uint64_t)readInt() & 0xFFFFFFFFL)); + } + + int64_t IndexInput::readVLong() { |