DrahtBot
commented at 8:26 PM on October 23, 2019:
member
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
#17071 (tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions by practicalswift)
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 force-pushed on Nov 5, 2019
DrahtBot added the label Needs rebase on Nov 5, 2019
practicalswift force-pushed on Nov 6, 2019
DrahtBot removed the label Needs rebase on Nov 6, 2019
practicalswift force-pushed on Nov 7, 2019
practicalswift force-pushed on Nov 7, 2019
practicalswift force-pushed on Nov 8, 2019
DrahtBot added the label Needs rebase on Dec 6, 2019
practicalswift force-pushed on Dec 6, 2019
practicalswift
commented at 9:21 AM on December 6, 2019:
contributor
Rebased! :)
DrahtBot removed the label Needs rebase on Dec 6, 2019
in
src/test/fuzz/base_encode_decode.cpp:23
in
c6a20631ddoutdated
MarcoFalke
commented at 8:16 PM on December 9, 2019:
All this does is strip the whitespace? Seems overkill to extend the generic helper SanitizeString for this use case.
practicalswift
commented at 4:33 PM on December 10, 2019:
No, random_encoded_string can contain all kinds of crap and still pass DecodeBase58 so it is not only for whitespace removal. To properly fuzz test this then knowledge of SAFE_CHARS_BASE58 is needed, but if you want I can make the sanitation machinery local to the this file?
MarcoFalke
commented at 4:39 PM on December 10, 2019:
Can you explain what kind of crap makes it pass? And does that sound like a bug where it should return false instead?
practicalswift
commented at 4:44 PM on December 10, 2019:
@MarcoFalkeOh, I don't think it is an indication of a bug -- sorry for using sloppy language :) With "all kinds of crap" I simply meant characters outside of SAFE_CHARS_BASE58. I'll get back with a more specific code example :)
practicalswift
commented at 11:10 PM on December 10, 2019:
The reason is that DecodeBase58(const std::string& str, …) calls DecodeBase58(const char* psz, …) which will only consider the string up to the first \x00.
MarcoFalke
commented at 11:26 PM on December 10, 2019:
So instead of SanitizeString, the string could be shortened and trimmed of whitespace in the fuzzer?
practicalswift
commented at 11:32 PM on December 10, 2019:
I'm not sure that is the way to go: \x00 is not whitespace :)
WDYT: shouldn't DecodeBase58(const std::string& str, …) return false when passed a str which contains at least one character that is not any of the base58 characters (all alphanumeric characters except for "0", "I", "O", and "l") or the whitespace characters?
practicalswift
commented at 3:14 PM on December 11, 2019:
Now adjusted fuzz tested code to make the invariant more sane :)
practicalswift force-pushed on Dec 9, 2019
practicalswift
commented at 8:30 PM on December 9, 2019:
contributor
Rebased! :)
practicalswift force-pushed on Dec 11, 2019
practicalswift force-pushed on Dec 11, 2019
practicalswift force-pushed on Dec 11, 2019
practicalswift force-pushed on Dec 11, 2019
practicalswift force-pushed on Dec 11, 2019
DrahtBot added the label Needs rebase on Dec 12, 2019
practicalswift force-pushed on Dec 12, 2019
DrahtBot removed the label Needs rebase on Dec 12, 2019
DrahtBot added the label Needs rebase on Dec 13, 2019
practicalswift force-pushed on Dec 13, 2019
practicalswift force-pushed on Dec 13, 2019
DrahtBot removed the label Needs rebase on Dec 13, 2019
DrahtBot added the label Needs rebase on Dec 16, 2019
tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus22d9bae36f
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-04-29 00:14 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me