Fix bug when clearing Bloom filter contents.

This patch fixes a bug that occurred when calling the BiF bloomfilter_clear,
which used to not only clear the underlying bit vector but also set its size to
zero. As a result, subsequent element access or computations using the bit
vector size caused erroneous behavior.

Reported by @colonelxc.
This commit is contained in:
Matthias Vallentin 2014-04-15 12:36:57 +02:00
parent 9b672f9e7f
commit cb4eaf762c
3 changed files with 5 additions and 5 deletions

View file

@ -72,7 +72,7 @@ bool BasicBloomFilter::Empty() const
void BasicBloomFilter::Clear()
{
bits->Clear();
bits->Reset();
}
bool BasicBloomFilter::Merge(const BloomFilter* other)
@ -190,7 +190,7 @@ bool CountingBloomFilter::Empty() const
void CountingBloomFilter::Clear()
{
cells->Clear();
cells->Reset();
}
bool CountingBloomFilter::Merge(const BloomFilter* other)

View file

@ -75,9 +75,9 @@ bool CounterVector::AllZero() const
return bits->AllZero();
}
void CounterVector::Clear()
void CounterVector::Reset()
{
bits->Clear();
bits->Reset();
}
CounterVector::count_type CounterVector::Count(size_type cell) const

View file

@ -86,7 +86,7 @@ public:
/**
* Sets all counters to 0.
*/
void Clear();
void Reset();
/**
* Retrieves the number of cells in the storage.