-
Notifications
You must be signed in to change notification settings - Fork 37.7k
tests: Add fuzzing harness for CAddrMan #19065
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
5579f7f
to
403c5ad
Compare
403c5ad
to
33fd6d3
Compare
979174f
to
4e16f76
Compare
Anything left to do here? :) The changes are limited to |
I cannot build this branch with either clang version: Make output:
Am I doing something wrong? I have C++17 features and can build on master. |
@Crypt-iQ So to clarify, you can build current |
@MarcoFalke I can build the current
|
@Crypt-iQ Oh, that's weird! Thanks for reporting. I've now rebased this PR on current |
@practicalswift I think you may have forgotten to push it up :) And will test once it's up |
4e16f76
to
b3850e3
Compare
@Crypt-iQ Oh, thanks for letting me know! Now pushed for real :) |
b3850e3
to
f3ef317
Compare
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
@practicalswift Able to build this branch with afl and with libfuzzer (clang-10). Coverage from 24 hours of AFL fuzzing here: https://crypt-iq.github.io/addrman_fuzz_outs/src/index.html |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still fuzzing addrman
to hit the collision code, will report back. Fuzzed merkleblock
& kitchensink
for ~32 hours each with libfuzzer and --with-sanitizers=address,fuzzer,undefined
: https://crypt-iq.github.io/merkleblock_and_kitchensink_cov/src/index.html
Only two minor comments.
f3ef317
to
5a1f69a
Compare
@Crypt-iQ Thanks a lot for reviewing! Feedback addressed. Would you mind re-reviewing? :) |
5a1f69a
to
48fd320
Compare
Ready for merge? :) PR touches code only in Edit: Noticed that I had unaddressed feedback from @Crypt-iQ in #19065 (comment). Will address. Sorry. |
@practicalswift Just had that one comment remaining about |
4bd95f4
to
c44009b
Compare
@Crypt-iQ Thanks for clarifying! I've now moved the AS-map code to allow for use via I think this PR should be ready for final review now. Many thanks for your patience: may I ask you to review for the n:th time? :) |
Concept ACK. Will review |
c44009b
to
406a07f
Compare
@MarcoFalke Thanks for reviewing. Addressed your optimization request and dropped all changes that are unrelated to |
406a07f
to
090dd83
Compare
090dd83
to
ada5dbd
Compare
ada5dbd
to
e535f63
Compare
@MarcoFalke Thanks for re-reviewing! Addressed all feedback. Should hopefully be ready for final review now :) |
…and src/test/fuzz/net
e535f63
to
d04a17a
Compare
@MarcoFalke Thanks for re-re-reviewing! Addressed all feedback. Should hopefully be ready for final final review now :) |
review ACK d04a17a |
Add fuzzing harness for
CAddrMan
.Fill some fuzzing coverage gaps for functions inaddrdb.h
,merkleblock.h
andoutputtype.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 :)