summaryrefslogtreecommitdiff
path: root/external/clucene
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-05-21 21:26:36 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-05-21 21:32:36 +0200
commitc01904f91f76b771362ab9fb71289feba1e342f6 (patch)
tree8e8a894867b72320800048bc1b9d91fcb471edcb /external/clucene
parent51a211ca1957280cda4de1679538e1f5fe25404e (diff)
external/clucene: Avoid InitOrderFiasco
...as reported by AddressSanitizer, where src/core/CLucene/index/IndexWriter.cpp initializes IndexWriter::MAX_TERM_LENGTH with the value of DocumentsWriter::MAX_TERM_LENGTH before the latter is initialized in src/core/CLucene/index/DocumentsWriter.cpp. But turns out that IndexWriter::MAX_TERM_LENGTH is completely unused. Change-Id: Ica01186584ec05a989a13dc58823f4751e8724e2
Diffstat (limited to 'external/clucene')
-rw-r--r--external/clucene/UnpackedTarball_clucene.mk1
-rw-r--r--external/clucene/patches/clucene-asan.patch26
2 files changed, 27 insertions, 0 deletions
diff --git a/external/clucene/UnpackedTarball_clucene.mk b/external/clucene/UnpackedTarball_clucene.mk
index efa77476e48c..d0592415f240 100644
--- a/external/clucene/UnpackedTarball_clucene.mk
+++ b/external/clucene/UnpackedTarball_clucene.mk
@@ -34,6 +34,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,clucene,\
external/clucene/patches/clucene-git1-win64.patch \
external/clucene/patches/clucene-ub.patch \
external/clucene/patches/clucene-mutex.patch \
+ external/clucene/patches/clucene-asan.patch \
))
ifneq ($(OS),WNT)
diff --git a/external/clucene/patches/clucene-asan.patch b/external/clucene/patches/clucene-asan.patch
new file mode 100644
index 000000000000..51adfad4aea7
--- /dev/null
+++ b/external/clucene/patches/clucene-asan.patch
@@ -0,0 +1,26 @@
+--- src/core/CLucene/index/IndexWriter.cpp
++++ src/core/CLucene/index/IndexWriter.cpp
+@@ -53,7 +53,6 @@
+
+ DEFINE_MUTEX(IndexWriter::MESSAGE_ID_LOCK)
+ int32_t IndexWriter::MESSAGE_ID = 0;
+-const int32_t IndexWriter::MAX_TERM_LENGTH = DocumentsWriter::MAX_TERM_LENGTH;
+
+ class IndexWriter::Internal{
+ public:
+--- src/core/CLucene/index/IndexWriter.h
++++ src/core/CLucene/index/IndexWriter.h
+@@ -384,13 +384,6 @@
+ */
+ static const int32_t DEFAULT_MAX_MERGE_DOCS;
+
+- /**
+- * Absolute hard maximum length for a term. If a term
+- * arrives from the analyzer longer than this length, it
+- * is skipped and a message is printed to infoStream, if
+- * set (see {@link #setInfoStream}).
+- */
+- static const int32_t MAX_TERM_LENGTH;
+
+
+ /* Determines how often segment indices are merged by addDocument(). With