diff options
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/datastore/entryref.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/searchlib/src/vespa/searchlib/datastore/entryref.h b/searchlib/src/vespa/searchlib/datastore/entryref.h index 433c260de32..9321ad8b8d1 100644 --- a/searchlib/src/vespa/searchlib/datastore/entryref.h +++ b/searchlib/src/vespa/searchlib/datastore/entryref.h @@ -3,6 +3,7 @@ #pragma once #include <cstdint> +#include <cassert> namespace search::datastore { @@ -28,7 +29,11 @@ class EntryRefT : public EntryRef { public: EntryRefT() : EntryRef() {} EntryRefT(uint64_t offset_, uint32_t bufferId_) : - EntryRef((offset_ << BufferBits) + bufferId_) {} + EntryRef((offset_ << BufferBits) + bufferId_) + { + assert(offset_ < offsetSize()); + assert(bufferId_ < numBuffers()); + } EntryRefT(const EntryRef & ref_) : EntryRef(ref_.ref()) {} uint32_t hash() const { return offset() + (bufferId() << OffsetBits); } uint64_t offset() const { return _ref >> BufferBits; } |