mirror of https://github.com/PurpleI2P/i2pd.git
I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
597 B
39 lines
597 B
1 year ago
|
|
||
|
|
||
|
#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;
|
||
|
}
|