CLucene: Some trivial GCC -fsanitize=undefined fixes

Change-Id: I40132f735eabbead0a1f16d44dbd8878b03902ce
This commit is contained in:
Stephan Bergmann
2014-04-11 12:40:24 +02:00
parent a899383ff7
commit 213e95bb5b
2 changed files with 34 additions and 0 deletions

View File

@@ -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)

View File

@@ -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() {