Add fuzzing harnesses for CAutoFile, CBufferedFile, LoadExternalBlockFile and other FILE* consumers:
- Add
FuzzedFileProviderwhich provides aFILE*interface toFuzzedDataProviderusingfopencookie - Add
FuzzedAutoFileProviderwhich provides aCAutoFileinterface toFuzzedDataProvider - Add serialization/deserialization fuzzing helpers
WriteToStream(…)/ReadFromStream(…) - Add fuzzing harness for
CAutoFile(streams.h) - Add fuzzing harness for
CBufferedFile(streams.h) - Add fuzzing harness for
LoadExternalBlockFile(...)(validation.h) - Add fuzzing harness for
CBlockPolicyEstimator::ReadandCBlockPolicyEstimator::Write(policy/fees.h)
See doc/fuzzing.md for information on how to fuzz Bitcoin Core. Don’t forget to contribute any coverage increasing inputs you find to the Bitcoin Core fuzzing corpus repo.
Happy fuzzing :)