mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-06-02 15:32:34 +02:00
tests: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed.
This commit is contained in:
parent
c5ac7af779
commit
db4bd32cc3
@ -12,6 +12,7 @@
|
|||||||
#include <net.h>
|
#include <net.h>
|
||||||
#include <primitives/block.h>
|
#include <primitives/block.h>
|
||||||
#include <protocol.h>
|
#include <protocol.h>
|
||||||
|
#include <pubkey.h>
|
||||||
#include <streams.h>
|
#include <streams.h>
|
||||||
#include <undo.h>
|
#include <undo.h>
|
||||||
#include <version.h>
|
#include <version.h>
|
||||||
@ -23,6 +24,12 @@
|
|||||||
|
|
||||||
#include <test/fuzz/fuzz.h>
|
#include <test/fuzz/fuzz.h>
|
||||||
|
|
||||||
|
void initialize()
|
||||||
|
{
|
||||||
|
// Fuzzers using pubkey must hold an ECCVerifyHandle.
|
||||||
|
static const auto verify_handle = MakeUnique<ECCVerifyHandle>();
|
||||||
|
}
|
||||||
|
|
||||||
void test_one_input(const std::vector<uint8_t>& buffer)
|
void test_one_input(const std::vector<uint8_t>& buffer)
|
||||||
{
|
{
|
||||||
CDataStream ds(buffer, SER_NETWORK, INIT_PROTO_VERSION);
|
CDataStream ds(buffer, SER_NETWORK, INIT_PROTO_VERSION);
|
||||||
|
@ -4,11 +4,9 @@
|
|||||||
|
|
||||||
#include <test/fuzz/fuzz.h>
|
#include <test/fuzz/fuzz.h>
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <vector>
|
||||||
#include <pubkey.h>
|
|
||||||
#include <util/memory.h>
|
|
||||||
|
|
||||||
|
|
||||||
static bool read_stdin(std::vector<uint8_t>& data)
|
static bool read_stdin(std::vector<uint8_t>& data)
|
||||||
{
|
{
|
||||||
@ -23,10 +21,8 @@ static bool read_stdin(std::vector<uint8_t>& data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Default initialization: Override using a non-weak initialize().
|
// Default initialization: Override using a non-weak initialize().
|
||||||
__attribute__((weak))
|
__attribute__((weak)) void initialize()
|
||||||
void initialize()
|
|
||||||
{
|
{
|
||||||
const static auto verify_handle = MakeUnique<ECCVerifyHandle>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is used by libFuzzer
|
// This function is used by libFuzzer
|
||||||
@ -50,7 +46,8 @@ extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv)
|
|||||||
// the main(...) function.
|
// the main(...) function.
|
||||||
__attribute__((weak))
|
__attribute__((weak))
|
||||||
#endif
|
#endif
|
||||||
int main(int argc, char **argv)
|
int
|
||||||
|
main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
#ifdef __AFL_INIT
|
#ifdef __AFL_INIT
|
||||||
|
Loading…
Reference in New Issue
Block a user