From d57278e80f188f6f11392f2ee75454ea05c146f7 Mon Sep 17 00:00:00 2001 From: amorynan Date: Mon, 20 May 2024 10:50:02 +0800 Subject: [PATCH] fix fieldDataArray.values is nullptr when meet first empty array --- src/core/CLucene/index/SDocumentWriter.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/CLucene/index/SDocumentWriter.cpp b/src/core/CLucene/index/SDocumentWriter.cpp index 4ff262f86d0..f5e33250d8f 100644 --- a/src/core/CLucene/index/SDocumentWriter.cpp +++ b/src/core/CLucene/index/SDocumentWriter.cpp @@ -131,7 +131,12 @@ void SDocumentsWriter::ThreadState::resetCurrentFieldData(Document *doc) { const Document::FieldsType &docFields = *doc->getFields(); const int32_t numDocFields = docFields.size(); - if (FieldData* fp = fieldDataArray.values[0]; fp && numDocFields > 0) { + if (FieldData* fp = fieldDataArray.values[0]; numDocFields > 0) { + // maybe here fp has not been initialized + if (!fp) { + init(doc, docID+1); + fp = fieldDataArray.values[0]; + } numFieldData = 1; // reset fp for new fields fp->fieldCount = 0;