mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Speed up ChunkCount validity check
When counting chunks for the purpose of a Valid check, only count up to chunk_count_limit + 1 chunks. This speeds up the skipping of the 70,000 chunk test file considerably. Before: Processed 1 inputs in 0.025517s After: Processed 1 inputs in 0.000620s
This commit is contained in:
parent
7d98d816d8
commit
6aa6eea7bc
2 changed files with 4 additions and 4 deletions
|
@ -14,18 +14,18 @@ bool zeek::detail::FuzzBuffer::Valid(int chunk_count_limit) const
|
|||
if ( memcmp(begin, PKT_MAGIC, PKT_MAGIC_LEN) != 0)
|
||||
return false;
|
||||
|
||||
if ( ChunkCount() > chunk_count_limit )
|
||||
if ( ChunkCount(chunk_count_limit + 1) > chunk_count_limit )
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
int zeek::detail::FuzzBuffer::ChunkCount() const
|
||||
int zeek::detail::FuzzBuffer::ChunkCount(int chunk_count_limit) const
|
||||
{
|
||||
auto pos = begin;
|
||||
int chunks = 0;
|
||||
|
||||
while ( pos < end )
|
||||
while ( pos < end && (chunk_count_limit == 0 || chunks < chunk_count_limit) )
|
||||
{
|
||||
pos = (const unsigned char*)memmem(pos, end - pos,
|
||||
PKT_MAGIC, PKT_MAGIC_LEN);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue