diff options
author | Alex Zolotarev <alex@maps.me> | 2016-03-07 15:40:08 +0300 |
---|---|---|
committer | Sergey Yershov <yershov@corp.mail.ru> | 2016-03-23 16:52:45 +0300 |
commit | 5d8f3914f6e3efdbce5b314ee4cefa52e2035237 (patch) | |
tree | 3ee9ddc0dbd506c5095af206d7f23c9f6d811f04 /indexer/rank_table.cpp | |
parent | 0f1acded750d5e8f41703489487bf1c30eefe336 (diff) |
Code review fixes.
Diffstat (limited to 'indexer/rank_table.cpp')
-rw-r--r-- | indexer/rank_table.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/indexer/rank_table.cpp b/indexer/rank_table.cpp index 8d9d345d1b..8e88f8549f 100644 --- a/indexer/rank_table.cpp +++ b/indexer/rank_table.cpp @@ -126,7 +126,16 @@ public: RankTableV0(vector<uint8_t> const & ranks) : m_coding(ranks) {} // RankTable overrides: - uint8_t Get(uint64_t i) const override { return m_coding.Get(i); } + uint8_t Get(uint64_t i) const override + { + // i can be greater than Size() for features created by user in the Editor. + // TODO(vng): Is there a better way inject it? Without this check search engine crashes here. + //ASSERT_LESS(i, Size(), ()); + if (i >= Size()) + return 0; + + return m_coding.Get(i); + } uint64_t Size() const override { return m_coding.Size(); } RankTable::Version GetVersion() const override { return V0; } void Serialize(Writer & writer, bool preserveHostEndianness) override |