From ee6831d665fbaabe7e99cc7949a39993774ccb48 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Mon, 12 Mar 2018 17:41:40 +0100 Subject: [PATCH] Check `internal->_search` before using it. If a search has been set and a user try to get the nextResult or restart the search, `internal->_search` will be NULL. --- src/searcher.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/searcher.cpp b/src/searcher.cpp index 61f97d686..65671b1bd 100644 --- a/src/searcher.cpp +++ b/src/searcher.cpp @@ -247,7 +247,7 @@ void Searcher::restart_search() { if (internal->_xapianSearcher) { internal->_xapianSearcher->restart_search(); - } else { + } else if (internal->_search) { internal->current_iterator = internal->_search->begin(); } } @@ -256,7 +256,8 @@ Result* Searcher::getNextResult() { if (internal->_xapianSearcher) { return internal->_xapianSearcher->getNextResult(); - } else if (internal->current_iterator != internal->_search->end()) { + } else if (internal->_search && + internal->current_iterator != internal->_search->end()) { Result* result = new _Result(this, internal->current_iterator); internal->current_iterator++; return result;