bitcoin/src
MarcoFalke 3f8f238deb
Merge bitcoin/bitcoin#21849: fuzz: Limit toxic test globals to their respective scope
cf83b82cf0 fuzz: Limit toxic test globals to their respective scope (MarcoFalke)

Pull request description:

  Globals in one fuzz target are toxic to all other fuzz targets, because we link all fuzz targets into one binary. Any code called by constructing the global will affect all other targets. This leads to incorrect coverage stats, false-positive crashes, ...

ACKs for top commit:
  practicalswift:
    cr ACK cf83b82cf0: non-toxic is better than toxic!
  laanwj:
    Code review ACK cf83b82cf0

Tree-SHA512: 5b3a37bcb36fce4160c94f877b2c07704527e3e1842092375c793d2eca77b996ae62889326094020855666bb34fa019fcfe92e8ff8430ce0372227f03ab2b907
2021-05-04 17:21:43 +02:00
..
bench bench: Remove duplicate constants 2021-05-03 11:50:30 +02:00
compat compat: remove memcpy -> memmove backwards compatibility alias 2021-03-10 14:31:10 +08:00
config
consensus versionbits: Add explicit NEVER_ACTIVE deployments 2021-04-12 11:14:49 +10:00
crc32c build: Update crc32c subtree 2020-12-08 19:26:30 +01:00
crypto crypto: Make MuHash Remove method efficient 2021-04-19 20:28:46 +02:00
index rpc, index: Add verbose amounts tracking to Coinstats index 2021-04-19 20:31:02 +02:00
init multiprocess: Add echoipc RPC method and test 2021-04-23 03:02:50 -05:00
interfaces multiprocess: Add echoipc RPC method and test 2021-04-23 03:02:50 -05:00
ipc multiprocess: Add echoipc RPC method and test 2021-04-23 03:02:50 -05:00
leveldb Update to leveldb upstream using subtree merge 2020-01-28 16:59:07 +01:00
logging Remove use of non-standard zero variadic macros 2020-04-30 18:02:04 +08:00
node Merge bitcoin/bitcoin#19521: Coinstats Index 2021-04-30 17:27:19 +02:00
policy doc: fixup -Wdocumentation issues 2021-04-06 14:50:17 +08:00
primitives scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
qt test: Use loop to register RPCs 2021-05-03 11:50:05 +02:00
rpc Merge bitcoin/bitcoin#20867: Support up to 20 keys for multisig under Segwit context 2021-05-03 12:44:23 +08:00
script script: allow up to 20 keys in wsh() descriptors 2021-04-28 10:00:29 +02:00
secp256k1 Update secp256k1 subtree to latest master 2020-10-27 23:08:48 -07:00
support Merge #20464: refactor: Treat CDataStream bytes as uint8_t 2021-02-01 15:17:28 +01:00
test fuzz: Limit toxic test globals to their respective scope 2021-05-04 09:24:17 +02:00
univalue Update univalue subtree 2020-11-19 15:48:24 +01:00
util Change ClearDataDirPathCache() to ArgsManager.ClearPathCache(). 2021-04-18 12:07:00 +02:00
wallet Merge bitcoin/bitcoin#21759: wallet: document coin selection code 2021-04-29 22:18:28 +08:00
zmq move-only: Move *Disk functions to blockstorage 2021-04-05 20:26:14 +02:00
.clang-format [tools] Allow argument/parameter bin packing in clang-format 2021-02-18 10:07:37 +00:00
addrdb.cpp log: Clarify log message when file does not exist 2021-02-18 15:08:35 +01:00
addrdb.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
addrman.cpp refactor: remove boost::thread_group usage 2021-01-29 15:39:44 +08:00
addrman.h [addrman] Don't repeat "Bucketing method was updated" log multiple times 2021-01-29 12:39:55 +00:00
amount.h
arith_uint256.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
arith_uint256.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
attributes.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
banman.cpp log: Clarify log message when file does not exist 2021-02-18 15:08:35 +01:00
banman.h Clean up separated ban/discourage interface 2020-07-03 20:43:55 -07:00
base58.cpp refactor: replace sizeof(a)/sizeof(a[0]) by std::size (C++17) 2021-01-31 17:35:16 +01:00
base58.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
bech32.cpp naming nits 2021-03-17 17:59:22 -07:00
bech32.h naming nits 2021-03-17 17:59:22 -07:00
bitcoin-cli-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoin-cli.cpp cli: use C++17 std::array class template argument deduction (CTAD) 2021-04-20 10:35:53 +02:00
bitcoin-tx-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoin-tx.cpp rpc: deprecate addresses and reqSigs from rpc outputs 2021-03-23 10:51:43 -04:00
bitcoin-util-res.rc Add bitcoin-util command line utility 2021-01-12 18:34:25 +10:00
bitcoin-util.cpp Merge #20938: build: fix linking against -latomic when building for riscv 2021-01-18 18:33:24 +01:00
bitcoin-wallet-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoin-wallet.cpp util: Add ArgsManager::GetCommand() and use it in bitcoin-wallet 2021-01-21 19:31:28 +01:00
bitcoind-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoind.cpp multiprocess: Add bitcoin-node process spawning support 2021-04-23 03:02:50 -05:00
blockencodings.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
blockencodings.h Get rid of -Wthread-safety-precise warnings 2020-05-28 09:55:39 +03:00
blockfilter.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
blockfilter.h [indexes] Fix default [de]serialization of BlockFilter. 2020-05-26 17:27:15 -04:00
bloom.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
bloom.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
chain.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
chain.h simplify ChainstateManager::SnapshotBlockhash() return semantics 2021-02-12 07:53:29 -06:00
chainparams.cpp Add mainnet and testnet taproot activation params 2021-04-14 22:53:54 -04:00
chainparams.h Merge #21560: net: Add Tor v3 hardcoded seeds 2021-04-06 10:47:51 +02:00
chainparamsbase.cpp versionbits: Add support for delayed activation 2021-04-12 11:14:49 +10:00
chainparamsbase.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
chainparamsseeds.h net: add I2P seeds to chainparamsseeds 2021-05-02 13:37:50 +02:00
checkqueue.h refactor: Drop boost::thread stuff in CCheckQueue 2020-09-24 06:55:34 +03:00
clientversion.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
clientversion.h refactor: Move STRINGIZE macro to macros.h 2021-02-01 22:30:05 +02:00
coins.cpp simplify ChainstateManager::SnapshotBlockhash() return semantics 2021-02-12 07:53:29 -06:00
coins.h Merge #18030: doc: Coin::IsSpent() can also mean never existed 2021-03-23 11:11:02 +01:00
compat.h net: extend Sock with methods for robust send & read until terminator 2021-03-01 17:36:16 +01:00
compressor.cpp compressor: use a prevector in compressed script serialization 2020-05-15 15:26:54 -07:00
compressor.h compressor: use a prevector in compressed script serialization 2020-05-15 15:26:54 -07:00
core_io.h rpc: deprecate addresses and reqSigs from rpc outputs 2021-03-23 10:51:43 -04:00
core_memusage.h
core_read.cpp doc: fix various typos 2021-01-04 12:31:31 +08:00
core_write.cpp rpc: deprecate addresses and reqSigs from rpc outputs 2021-03-23 10:51:43 -04:00
cuckoocache.h doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
dbwrapper.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
dbwrapper.h Merge #20464: refactor: Treat CDataStream bytes as uint8_t 2021-02-01 15:17:28 +01:00
dummywallet.cpp tests: Skip SQLite fsyncs while testing 2021-04-12 19:29:03 -04:00
external_signer.cpp external_signer: remove ExternalSignerException 2021-04-13 20:09:34 +08:00
external_signer.h external_signer: remove ExternalSignerException 2021-04-13 20:09:34 +08:00
flatfile.cpp log: Move "Pre-allocating up to position 0x[...] in [...].dat" log message to debug category 2021-02-10 20:46:25 +00:00
flatfile.h Merge #18317: Serialization improvements step 6 (all except wallet/gui) 2020-05-20 07:30:29 -04:00
fs.cpp Replace fs::absolute calls with AbsPathJoin calls 2021-01-15 22:48:15 +01:00
fs.h Replace fs::absolute calls with AbsPathJoin calls 2021-01-15 22:48:15 +01:00
hash.cpp doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
hash.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
httprpc.cpp Drop JSONRPCRequest constructors after #21366 2021-04-07 04:53:26 -04:00
httprpc.h refactor: replace util::Ref by std::any (C++17) 2021-03-29 23:29:42 +02:00
httpserver.cpp Merge #18335: bitcoin-cli: print useful error if bitcoind rpc work queue exceeded 2021-03-19 20:52:16 +01:00
httpserver.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
i2p.cpp i2p: cancel the Accept() method if waiting on the socket errors 2021-04-08 16:31:55 +02:00
i2p.h i2p: use pointers to Sock to accommodate mocking 2021-03-16 13:59:18 +01:00
indirectmap.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
init.cpp doc: fix -coinstatsindex help, and test/rpc touchups 2021-05-01 13:57:26 +02:00
init.h Drop JSONRPCRequest constructors after #21366 2021-04-07 04:53:26 -04:00
key.cpp doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
key.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
key_io.cpp Use Bech32m encoding for v1+ segwit addresses 2021-03-16 10:48:36 -07:00
key_io.h Better error messages for invalid addresses 2021-01-24 02:44:53 +01:00
logging.cpp multiprocess: Add Ipc interface implementation 2021-04-23 03:02:50 -05:00
logging.h multiprocess: Add Ipc interface implementation 2021-04-23 03:02:50 -05:00
Makefile.am Merge bitcoin/bitcoin#19521: Coinstats Index 2021-04-30 17:27:19 +02:00
Makefile.bench.include net: Add libnatpmp support 2021-01-07 18:07:09 +02:00
Makefile.crc32c.include build: Update crc32c subtree 2020-12-08 19:26:30 +01:00
Makefile.leveldb.include build: Enable -Wsuggest-override 2020-05-12 18:03:39 +03:00
Makefile.qt.include Merge bitcoin-core/gui#18: Add peertablesortproxy module 2021-04-28 20:57:52 +03:00
Makefile.qt_locale.include qt: Pre-splitoff translations update 2020-10-27 19:40:44 +01:00
Makefile.qttest.include test: remove qt byteswap compattests 2021-03-29 11:12:26 +08:00
Makefile.test.include Merge bitcoin/bitcoin#19521: Coinstats Index 2021-04-30 17:27:19 +02:00
Makefile.test_fuzz.include build: compile libnatpmp with -DNATPMP_STATICLIB on Windows 2021-03-04 12:34:46 +08:00
Makefile.test_util.include fuzz: [refactor] Use IsValidFlagCombination in signature_checker fuzz target 2021-03-30 10:42:45 +02:00
mapport.cpp net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
mapport.h net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
memusage.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
merkleblock.cpp doc: fix various typos 2021-01-04 12:31:31 +08:00
merkleblock.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
miner.cpp miner: Pass in previous CBlockIndex to RegenerateCommitments 2021-04-05 11:13:51 -04:00
miner.h miner: Pass in previous CBlockIndex to RegenerateCommitments 2021-04-05 11:13:51 -04:00
net.cpp Merge bitcoin/bitcoin#21750: net: remove unnecessary check of CNode::cs_vSend 2021-05-03 08:13:53 +02:00
net.h refactor: Mark member functions const 2021-04-17 20:13:34 +02:00
net_permissions.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
net_permissions.h Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
net_processing.cpp p2p: Limit m_block_inv_mutex 2021-04-25 20:39:59 +02:00
net_processing.h refactor: Mark member functions const 2021-04-17 20:13:34 +02:00
net_types.h refactor: Remove addrdb.h dependency from node.h 2019-10-29 11:30:12 +02:00
netaddress.cpp net: Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP 2021-04-01 08:06:01 +00:00
netaddress.h net: extend CNetAddr::SetSpecial() to support I2P 2021-03-01 13:22:11 +01:00
netbase.cpp Merge #21387: p2p: Refactor sock to add I2P fuzz and unit tests 2021-03-30 17:41:13 +02:00
netbase.h doc: fixup -Wdocumentation issues 2021-04-06 14:50:17 +08:00
netmessagemaker.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
noui.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
noui.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
outputtype.cpp refactor: Use C++17 std::array deduction for OUTPUT_TYPES 2021-01-03 18:37:59 +01:00
outputtype.h refactor: Use C++17 std::array deduction for OUTPUT_TYPES 2021-01-03 18:37:59 +01:00
pow.cpp
pow.h
prevector.h prevector: Avoid unnamed struct, which is a GNU extension 2020-04-30 18:02:03 +08:00
protocol.cpp refactor: init vectors via std::{begin,end} to avoid pointer arithmetic 2021-01-31 17:35:01 +01:00
protocol.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
psbt.cpp Merge #20464: refactor: Treat CDataStream bytes as uint8_t 2021-02-01 15:17:28 +01:00
psbt.h refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
pubkey.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
pubkey.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
random.cpp refactor: replace sizeof(a)/sizeof(a[0]) by std::size (C++17) 2021-01-31 17:35:16 +01:00
random.h Add templated GetRandomDuration<> 2020-04-30 09:19:14 -04:00
randomenv.cpp rand: only try and use freeifaddrs if available 2021-03-29 11:08:29 +08:00
randomenv.h [MOVEONLY] Move perfmon data gathering to new randomenv module 2019-11-12 14:50:44 -08:00
rest.cpp Merge #21391: [Bundle 5/n] Prune g_chainman usage in RPC modules 2021-04-17 17:37:37 +02:00
reverse_iterator.h
scheduler.cpp Add include for std::bind. 2021-01-13 02:05:00 +01:00
scheduler.h refactor: remove boost::thread_group usage 2021-01-29 15:39:44 +08:00
serialize.h Support bypassing range check in ReadCompactSize 2020-10-09 10:32:19 +02:00
shutdown.cpp move-only: Move AbortNode to shutdown 2021-04-04 18:08:36 +02:00
shutdown.h move-only: Move AbortNode to shutdown 2021-04-04 18:08:36 +02:00
signet.cpp Merge #21330: Deal with missing data in signature hashes more consistently 2021-04-13 10:24:31 +08:00
signet.h scripted-diff: remove Optional & nullopt 2021-03-15 10:41:30 +08:00
span.h Merge #19387: span: update constructors to match c++20 draft spec and add lifetimebound attribute 2020-11-25 15:18:33 +01:00
streams.h Merge #20464: refactor: Treat CDataStream bytes as uint8_t 2021-02-01 15:17:28 +01:00
sync.cpp refactor: remove straggling boost::mutex usage 2021-01-26 15:57:28 +08:00
sync.h refactor: Remove negative lock annotations from globals 2021-04-05 08:42:15 +02:00
threadinterrupt.cpp
threadinterrupt.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
threadsafety.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
timedata.cpp Avoid the use of abs64 in timedata 2020-10-12 19:50:16 -07:00
timedata.h
tinyformat.h refactor: Improve use of explicit keyword 2020-12-01 18:36:39 +01:00
torcontrol.cpp torcontrol: Move TorControlReply, TorControlConnection and TorController to improve testability 2021-03-02 12:21:32 +00:00
torcontrol.h tests: Add fuzzing harness for TorController 2021-03-02 12:21:32 +00:00
txdb.cpp scripted-diff: remove MakeUnique<T>() 2021-03-11 13:45:14 +08:00
txdb.h txdb: add CCoinsViewDB::ChangeCacheSize 2020-07-01 14:44:24 -04:00
txmempool.cpp refactor: return std::nullopt instead of {} 2021-03-22 11:22:06 +08:00
txmempool.h fuzz: Add tx_pool fuzz targets 2021-03-18 18:43:52 +01:00
txorphanage.cpp scripted-diff: Update txorphanage naming convention 2021-02-27 01:08:09 +10:00
txorphanage.h doc: Fix typos from codespell lint 2021-04-07 19:26:25 +01:00
txrequest.cpp doc: Fix typos from codespell lint 2021-04-07 19:26:25 +01:00
txrequest.h Report and verify expirations 2020-10-12 12:14:53 -07:00
uint256.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
uint256.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
undo.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
validation.cpp Merge bitcoin/bitcoin#19521: Coinstats Index 2021-04-30 17:27:19 +02:00
validation.h Merge bitcoin/bitcoin#19521: Coinstats Index 2021-04-30 17:27:19 +02:00
validationinterface.cpp Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
validationinterface.h Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
version.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
versionbits.cpp versionbits: simplify state transitions 2021-04-12 11:14:49 +10:00
versionbits.h versionbits: Add support for delayed activation 2021-04-12 11:14:49 +10:00
versionbitsinfo.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
versionbitsinfo.h
walletinitinterface.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
warnings.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
warnings.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00