[Libreoffice-commits] core.git: external/clucene

Stephan Bergmann sbergman at redhat.com
Wed May 21 12:32:58 PDT 2014


 external/clucene/UnpackedTarball_clucene.mk |    1 +
 external/clucene/patches/clucene-asan.patch |   26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

New commits:
commit c01904f91f76b771362ab9fb71289feba1e342f6
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed May 21 21:26:36 2014 +0200

    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

diff --git a/external/clucene/UnpackedTarball_clucene.mk b/external/clucene/UnpackedTarball_clucene.mk
index efa7747..d059241 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 0000000..51adfad
--- /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


More information about the Libreoffice-commits mailing list