mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-05-05 06:57:00 +02:00
Added undefined behavior sanitizer.
Combined common sanitizer flags. Added fuzzers.
This commit is contained in:
parent
5022a9c610
commit
5f6bbd3eb9
23 changed files with 813 additions and 4 deletions
38
fuzzing/fuzz-LeaseSet2.cc
Normal file
38
fuzzing/fuzz-LeaseSet2.cc
Normal file
|
@ -0,0 +1,38 @@
|
|||
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <LeaseSet.h>
|
||||
|
||||
#include "fuzzing.h"
|
||||
|
||||
|
||||
bool
|
||||
fuzzing_testinput(const uint8_t * data, size_t size)
|
||||
{
|
||||
uint8_t storeType;
|
||||
i2p::data::LeaseSet2 * ls;
|
||||
|
||||
|
||||
if(size < 1)
|
||||
return true;
|
||||
|
||||
storeType = data[0];
|
||||
|
||||
// Same check as in NetDb::HandleDatabaseStoreMsg()
|
||||
if(storeType == i2p::data::NETDB_STORE_TYPE_LEASESET)
|
||||
return true;
|
||||
|
||||
data++;
|
||||
size--;
|
||||
|
||||
// Same check as in NetDb::HandleDatabaseStoreMsg()
|
||||
if(size > i2p::data::MAX_LS_BUFFER_SIZE)
|
||||
return true;
|
||||
|
||||
ls = new i2p::data::LeaseSet2(storeType, data, size, false);
|
||||
delete ls;
|
||||
|
||||
return true;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue