master @ 5f19155e5bca37bf1fe14515758c6f589f6806ae
./autogen.sh
CC=/usr/local/opt/llvm/bin/clang-10 CXX=/usr/local/opt/llvm/bin/clang-10 ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
make -j8
src/test/fuzz/strprintf ../qa-assets/fuzz_seed_corpus/strprintf
src/test/fuzz/strprintf ../qa-assets/fuzz_seed_corpus/strprintf
INFO: Seed: 2966642833
INFO: Loaded 1 modules (5426 inline 8-bit counters): 5426 [0x1090e45b8, 0x1090e5aea),
INFO: Loaded 1 PC tables (5426 PCs): 5426 [0x1090e5af0,0x1090fae10),
INFO: 542 files found in ../qa-assets/fuzz_seed_corpus/strprintf
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
INFO: seed corpus: files: 542 min: 1b max: 128b total: 6053b rss: 28Mb
AddressSanitizer:DEADLYSIGNAL
=================================================================
==6966==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fff70692e52 bp 0x7ffee6bc1740 sp 0x7ffee6bc1740 T0)
==6966==The signal is caused by a READ memory access.
==6966==Hint: address points to the zero page.
[#0](/bitcoin-bitcoin/0/) 0x7fff70692e52 in _platform_strlen+0x12 (libsystem_platform.dylib:x86_64+0xe52)
[#1](/bitcoin-bitcoin/1/) 0x1091aeff7 in wrap_strlen+0x37 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x14ff7)
[#2](/bitcoin-bitcoin/2/) 0x10905bf63 in void tinyformat::formatValue<signed char*>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, char const*, int, signed char* const&) tinyformat.h:358
[#3](/bitcoin-bitcoin/3/) 0x10904d338 in tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) tinyformat.h:907
[#4](/bitcoin-bitcoin/4/) 0x10904a135 in void tinyformat::format<signed char*>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, signed char* const&) tinyformat.h:1064
[#5](/bitcoin-bitcoin/5/) 0x10904122b in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > tinyformat::format<signed char*>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, signed char* const&) tinyformat.h:1156
[#6](/bitcoin-bitcoin/6/) 0x10903e6ee in test_one_input(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&) strprintf.cpp:49
[#7](/bitcoin-bitcoin/7/) 0x109079d9d in LLVMFuzzerTestOneInput fuzz.cpp:38
[#8](/bitcoin-bitcoin/8/) 0x1090a3560 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) FuzzerLoop.cpp:556
[#9](/bitcoin-bitcoin/9/) 0x1090a2ca5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) FuzzerLoop.cpp:470
[#10](/bitcoin-bitcoin/10/) 0x1090a5347 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) FuzzerLoop.cpp:765
[#11](/bitcoin-bitcoin/11/) 0x1090a56a9 in fuzzer::Fuzzer::Loop(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) FuzzerLoop.cpp:792
[#12](/bitcoin-bitcoin/12/) 0x109092a8d in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) FuzzerDriver.cpp:829
[#13](/bitcoin-bitcoin/13/) 0x1090bed52 in main FuzzerMain.cpp:19
[#14](/bitcoin-bitcoin/14/) 0x7fff7049ccc8 in start+0x0 (libdyld.dylib:x86_64+0x1acc8)
==6966==Register values:
rax = 0x0000000109e9c934 rbx = 0x0000000000000000 rcx = 0x0000000000000000 rdx = 0x0000000000000000
rdi = 0x0000000000000000 rsi = 0x0000000000000000 rbp = 0x00007ffee6bc1740 rsp = 0x00007ffee6bc1740
r8 = 0x00000001090ff400 r9 = 0x0000008482df9980 r10 = 0xffffffffffffffff r11 = 0x0000000000000020
r12 = 0x00000000ffffffff r13 = 0x0000000000000000 r14 = 0x00007ffee6bc2500 r15 = 0x00007ffee6bc27c0
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (libsystem_platform.dylib:x86_64+0xe52) in _platform_strlen+0x12
==6966==ABORTING
MS: 0 ; base unit: 0000000000000000000000000000000000000000
0x25,0x78,
%x
artifact_prefix='./'; Test unit written to ./crash-f7d71ad6a293c739fdb380f7e3761bf9ccf1933b
Base64: JXg=
[1] 6966 abort src/test/fuzz/strprintf ../qa-assets/fuzz_seed_corpus/strprintf