Wladimir J. van der Laan
924a4ff7eb
Merge #20242: fuzz: Properly initialize PrecomputedTransactionData
fa56d56d4e9b69fdd02e631b9a2380cfd3095144 fuzz: Properly initialize PrecomputedTransactionData (MarcoFalke)
Pull request description:
Fixes:
```
script_flags: script/interpreter.cpp:1512: bool SignatureHashSchnorr(uint256 &, const ScriptExecutionData &, const T &, uint32_t, uint8_t, SigVersion, const PrecomputedTransactionData &) [T = CTransaction]: Assertion `cache.m_bip341_taproot_ready && cache.m_spent_outputs_ready' failed.
==34989== ERROR: libFuzzer: deadly signal
#0 0x55e90077ff11 in __sanitizer_print_stack_trace (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x20cf11)
#1 0x55e9006cb068 in fuzzer::PrintStackTrace() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158068)
#2 0x55e9006b01b3 in fuzzer::Fuzzer::CrashCallback() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13d1b3)
#3 0x7f6fb89383bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf)
#4 0x7f6fb855018a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a)
#5 0x7f6fb852f858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858)
#6 0x7f6fb852f728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728)
#7 0x7f6fb8540f35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35)
#8 0x55e9008275bd in bool SignatureHashSchnorr<CTransaction>(uint256&, ScriptExecutionData const&, CTransaction const&, unsigned int, unsigned char, SigVersion, PrecomputedTransactionData const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1512:5
#9 0x55e900825a3f in GenericTransactionSignatureChecker<CTransaction>::CheckSchnorrSignature(Span<unsigned char const>, Span<unsigned char const>, SigVersion, ScriptExecutionData const&, ScriptError_t*) const /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1699:10
#10 0x55e900832503 in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1900:26
#11 0x55e90082ecb5 in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1977:18
#12 0x55e9007a9b61 in test_one_input(std::vector<unsigned char, std::allocator<unsigned char> > const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags.cpp:51:30
#13 0x55e9007d0b49 in LLVMFuzzerTestOneInput /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/fuzz.cpp:36:5
#14 0x55e9006b1871 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13e871)
#15 0x55e9006b0fb5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13dfb5)
#16 0x55e9006b38d7 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1408d7)
#17 0x55e9006b3c39 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x140c39)
#18 0x55e9006a290e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x12f90e)
#19 0x55e9006cb752 in main (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158752)
#20 0x7f6fb85310b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
#21 0x55e9006776ad in _start (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1046ad)
ACKs for top commit:
laanwj:
Code review ACK fa56d56d4e9b69fdd02e631b9a2380cfd3095144
Tree-SHA512: 5637b0a0d982360df32d8cd39e913395967af02ec746508fc5f2fd649695c58bfaaf18ef76f4ca9da764d34fdd63dfe188317dd41b2ed57534bd4055a05ae870
2020-10-29 11:50:28 +01:00
..
2020-04-08 14:45:27 +00:00
2020-07-19 08:31:34 +02:00
2020-05-14 18:52:57 +00:00
2020-08-24 21:50:59 +02:00
2020-07-15 11:41:21 +00:00
2020-07-08 05:31:43 +00:00
2020-04-16 13:33:09 -04:00
2019-11-05 09:23:44 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:45:42 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-07-26 22:46:28 +03:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-06-22 00:55:44 +02:00
2020-06-25 15:06:13 +00:00
2020-06-25 15:06:13 +00:00
2020-06-25 15:06:13 +00:00
2020-06-25 15:06:13 +00:00
2020-06-11 14:05:54 +00:00
2020-06-25 15:06:13 +00:00
2020-06-25 15:06:13 +00:00
2020-09-10 14:54:30 +00:00
2020-05-14 18:52:57 +00:00
2020-06-24 18:41:45 +02:00
2020-04-16 13:33:09 -04:00
2020-10-26 16:37:35 +00:00
2020-04-16 13:33:09 -04:00
2020-03-15 16:25:29 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-01-31 12:36:13 +00:00
2020-10-04 17:49:07 +02:00
2019-10-23 11:10:10 +00:00
2020-01-27 21:31:42 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-06-02 11:53:08 +00:00
2020-05-02 21:24:05 +08:00
2020-03-11 15:16:54 -04:00
2020-07-30 13:57:54 -07:00
2020-06-09 15:39:44 +02:00
2020-07-15 11:41:21 +00:00
2020-08-17 17:56:59 +02:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-03-22 13:29:00 +00:00
2020-07-30 14:38:50 +03:00
2020-10-03 15:38:49 +03:00
2020-08-24 21:50:59 +02:00
2020-09-22 22:05:18 -04:00
2020-04-26 20:23:56 +00:00
2019-10-30 13:32:29 +00:00
2019-12-10 16:39:40 +00:00
2019-12-10 16:39:40 +00:00
2020-04-16 13:33:09 -04:00
2020-07-15 11:41:21 +00:00
2020-07-15 11:41:21 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-09-07 21:03:44 +03:00
2020-09-07 21:03:44 +03:00
2020-05-14 18:52:57 +00:00
2020-06-24 16:31:42 -04:00
2020-03-29 13:17:04 +00:00
2020-05-14 18:52:57 +00:00
2020-05-14 18:52:57 +00:00
2020-10-12 17:18:47 -07:00
2020-05-30 10:37:01 +00:00
2020-05-30 10:37:01 +00:00
2020-10-26 09:17:25 +01:00
2020-05-30 10:37:01 +00:00
2020-04-15 10:01:55 -04:00
2020-10-12 17:15:40 -07:00
2020-05-30 10:37:01 +00:00
2020-08-14 08:44:42 +12:00
2020-07-22 05:27:13 +02:00
2020-08-18 18:03:57 +00:00
2020-08-18 18:03:56 +00:00
2020-10-12 17:18:15 -07:00
2020-09-22 22:32:18 +02:00
2020-05-12 14:19:40 -07:00
2020-05-12 14:19:40 -07:00
2020-05-30 10:37:01 +00:00
2020-05-14 18:52:57 +00:00
2020-05-08 20:21:48 +02:00
2020-03-24 14:39:23 +00:00
2020-04-16 13:33:09 -04:00
2019-12-06 09:10:31 +00:00
2019-12-06 09:10:44 +00:00
2020-10-12 12:14:53 -07:00
2020-08-24 21:50:59 +02:00