From b11fe8f163d4e7f7f18c179e88d5ba04bfa03955 Mon Sep 17 00:00:00 2001 From: Artyom Polkovnikov Date: Fri, 14 Nov 2014 16:42:22 +0300 Subject: [PATCH] Coding: VarintVector: Fix tiny bug, check index overflow in FindBySum search if we run past the last element in the vector. --- coding/varint_vector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coding/varint_vector.cpp b/coding/varint_vector.cpp index af47dce535..b874e10cf2 100644 --- a/coding/varint_vector.cpp +++ b/coding/varint_vector.cpp @@ -178,7 +178,7 @@ void Vector::FindBySum(uint64_t sum, uint32_t & serialPos, uint64_t & sumBefore, uint64_t numsSum = tableEntry.sum; // At this point nums_sum <= sum. uint64_t numOffset = m_serialNumsOffset + tableEntry.pos; - while (numsSum <= sum) + while (numsSum <= sum && countBefore < m_numsCount) { uint64_t nextOffset = numOffset; uint64_t num = VarintDecode(m_reader, nextOffset);