diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-05-19 13:22:41 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-05-19 13:22:41 +0200 |
commit | 2fa1f136f0216ffa067b77a8d93e554fc290fefe (patch) | |
tree | aa8cb2ffaab53a309884a7746f10603f094f1f2c | |
parent | d4b9107f33a189d73f0433008c9e1d1c49348fe6 (diff) |
Hit collector array size should never be larger than doc id limit.
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp b/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp index 3293019e538..b851fc50518 100644 --- a/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp @@ -37,7 +37,7 @@ HitCollector::sortHitsByDocId() HitCollector::HitCollector(uint32_t numDocs, uint32_t maxHitsSize) : _numDocs(numDocs), - _maxHitsSize(maxHitsSize), + _maxHitsSize(std::min(maxHitsSize, numDocs)), _maxDocIdVectorSize((numDocs + 31) / 32), _hits(), _hitsSortOrder(SortOrder::DOC_ID), @@ -53,7 +53,7 @@ HitCollector::HitCollector(uint32_t numDocs, } else { _collector = std::make_unique<DocIdCollector<false>>(*this); } - _hits.reserve(maxHitsSize); + _hits.reserve(_maxHitsSize); } HitCollector::~HitCollector() = default; |