aboutsummaryrefslogtreecommitdiff
path: root/src/compat
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2020-03-06 14:31:05 -0500
committerMarcoFalke <falke.marco@gmail.com>2020-03-06 14:31:11 -0500
commit45cdcd47d99e3af28c82839148b637d31c0b4fc9 (patch)
tree7c7b479eb080c49ae3abf2db8451fef9249decab /src/compat
parent97aadf98d0b890e09eff45535fa13a663f27334d (diff)
parent259e290db8f784dba75979acf16e7964af63445c (diff)
Merge #18126: tests: Add fuzzing harness testing the locale independence of the strencodings.h functions
259e290db8f784dba75979acf16e7964af63445c tests: Add fuzzing harness for locale independence testing (practicalswift) Pull request description: Context: [C and C++ locale assumptions in bitcoind and bitcoin-qt](https://github.com/bitcoin/bitcoin/pull/18124) Add fuzzing harness for locale independence testing of functions in `strencodings.h` and `tinyformat.h`. Test this PR using: ``` $ make distclean $ ./autogen.sh $ CC=clang CXX=clang++ ./configure --enable-fuzz \ --with-sanitizers=address,fuzzer,undefined $ make $ src/test/fuzz/locale … ``` The tested functions (`ParseInt32(…)`, `ParseInt64(…)`, `atoi(const std::string&)`, `atoi64(const std::string& str)`, `i64tostr(const char*)`, `itostr(…)`, `strprintf(…)`) all call locale dependent functions (such as `strtol(…)`, `strtoll(…)`, `atoi(const char*)`, etc.) but are assumed to do so in a way that the tested functions return same results regardless of the chosen C locale (`setlocale`). This fuzzer aims to test that those assumptions hold up also in practice now and over time. Top commit has no ACKs. Tree-SHA512: d108d2f85aa6f482839dafbc7579465ffd4bacf7bc52835ad0fbaa1c71aed9b3870c83447b3d453a03b9ce307e76a3cfdd350a0c77024ab094c93c7d62c8a527
Diffstat (limited to 'src/compat')
0 files changed, 0 insertions, 0 deletions