summaryrefslogtreecommitdiffstats
path: root/external/clucene/patches
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-04-11 12:40:24 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-04-11 12:40:24 +0200
commit213e95bb5bfd91e7946a540034cb6e2769c096cc (patch)
treea0f05e2a0028924cbfe1b148540cb7df5b52c392 /external/clucene/patches
parentgbuild: More crude hacking to fix over-evalutation of gb_Extension_*COMMANDs (diff)
downloadcore-213e95bb5bfd91e7946a540034cb6e2769c096cc.tar.gz
core-213e95bb5bfd91e7946a540034cb6e2769c096cc.zip
CLucene: Some trivial GCC -fsanitize=undefined fixes
Change-Id: I40132f735eabbead0a1f16d44dbd8878b03902ce
Diffstat (limited to 'external/clucene/patches')
-rw-r--r--external/clucene/patches/clucene-ub.patch33
1 files changed, 33 insertions, 0 deletions
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() {