HomePhabricator

[backport#17051] tests: Add deserialization fuzzing harnesses

Description

[backport#17051] tests: Add deserialization fuzzing harnesses

Summary:
897849d8c225045f0dd3a2fe99b5d69bdf84b4e2 tests: Add deserialization fuzzing harnesses (practicalswift)
16f0a186dcee563bb1000e1ffc51da87e7623bc6 tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)

Pull request description:

Add deserialization fuzzing harnesses.

**Testing this PR**

Run:

```
$ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
$ make
$ contrib/devtools/test_fuzzing_harnesses.sh 'addr_info|block_file_info|block_filter|block_header|ext_key|ext_pub_key|fee_rate|flat_file|key_origin|merkle_block|mutable_transaction|out_point|partial_merkle_tree|partially_signed_transaction|prefilled_transaction|psbt_input|psbt_output|pub_key|script_deserialize|sub_net|tx_in' 10
```

`test_fuzzing_harnesses.sh` can be found in PR #17000.

Depends on D6945

Backport of Core PR17051

Test Plan:

cmake -GNinja .. -DENABLE_SANITIZERS="address;fuzzer;undefined" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
ninja bitcoin-fuzzers link-fuzz-test_runner.py
./test/fuzz/test_runner.py -l DEBUG <path_to_corpus>

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D6947

Details

Provenance
Wladimir J. van der Laan <laanwj@protonmail.com>Authored on Jul 17 2020, 20:39
majcostaCommitted on Jul 17 2020, 20:44
abc-botPushed on Jul 17 2020, 20:44
Reviewer
Restricted Project
Differential Revision
D6947: [backport#17051] tests: Add deserialization fuzzing harnesses
Parents
rABCb1b6230a8e77: Initialize nVersionDummy in txdb.cpp
Branches
Unknown
Tags
Unknown