From: Timo Sirainen Date: Thu, 4 Aug 2011 11:12:30 +0000 (+0300) Subject: fts-lucene: Don't crash if optimize can't open the index. X-Git-Tag: 2.1.alpha1~183 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a7c3622d534dfa929d659264dcaa67c00f459b5;p=thirdparty%2Fdovecot%2Fcore.git fts-lucene: Don't crash if optimize can't open the index. --- diff --git a/src/plugins/fts-lucene/lucene-wrapper.cc b/src/plugins/fts-lucene/lucene-wrapper.cc index 768f8c8fdf..2c3affefec 100644 --- a/src/plugins/fts-lucene/lucene-wrapper.cc +++ b/src/plugins/fts-lucene/lucene-wrapper.cc @@ -450,15 +450,16 @@ int lucene_index_optimize_finish(struct lucene_index *index) if (IndexReader::isLocked(index->path)) IndexReader::unlock(index->path); - IndexWriter *writer = - _CLNEW IndexWriter(index->path, index->analyzer, false); + IndexWriter *writer = NULL; try { + writer = _CLNEW IndexWriter(index->path, index->analyzer, false); writer->optimize(); } catch (CLuceneError &err) { lucene_handle_error(index, err, "IndexWriter::optimize()"); ret = -1; } - _CLDELETE(writer); + if (writer != NULL) + _CLDELETE(writer); return ret; }