bitcoin/src
Wladimir J. van der Laan 12519bf62b test: Fix use-after-free in scheduler tests
Make a copy of the boost time-point to wait for, otherwise the head of
the queue may be deleted by another thread while this one is waiting,
while the boost function still has a reference to it.

Although this problem is in non-test code, this is not an actual problem
outside of the tests because we use the thread scheduler with only one
service thread, so there will never be threads fighting at the head of
the queue.

The old boost fallback escapes this problem because it passes a scalar
value to wait_until instead of a const object reference.

Found by running the tests in LLVM-4.0-master asan.
2016-11-18 13:10:52 +01:00
..
bench Use better name for local variable to prevent -Wshadow compiler warning 2016-11-10 21:38:07 +01:00
compat [copyright] copyright header style uniform 2016-11-06 10:12:50 -07:00
config
consensus IBD check uses minimumchain work instead of checkpoints. 2016-11-02 01:47:02 +00:00
crypto crypto: add AES 128/256 CBC classes 2016-05-13 10:23:03 +02:00
leveldb
obj
obj-test
policy update comments for tx weight 2016-11-14 00:38:07 -06:00
primitives Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
qt [qt] Make network disabled icon 50% opaque 2016-11-13 22:06:35 +01:00
rpc Merge #8996: Network activity toggle 2016-11-11 11:16:40 +01:00
script Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
secp256k1 Merge commit 'b2135359b3ad37cf2ac09b008079ddb237eff2c9' 2016-08-16 11:34:43 +02:00
support LockedPool: avoid quadratic-time allocation 2016-11-02 16:52:56 -07:00
test Merge #8996: Network activity toggle 2016-11-11 11:16:40 +01:00
univalue Merge commit '2ca7faab4205822b06dc2ab2bbda0a9a70fce7e0' into HEAD 2016-09-30 19:58:11 +02:00
wallet Merge #9155: [trivial] update comments for tx weight 2016-11-16 11:05:40 +01:00
zmq Always call UpdatedBlockTip, even if blocks were only disconnected 2016-10-04 13:52:57 -04:00
.clang-format
Makefile.am Merge #8753: Locked memory manager 2016-11-02 11:16:29 +01:00
Makefile.bench.include Bugfix: Correctly replace generated headers and fail cleanly 2016-11-12 07:16:28 +00:00
Makefile.leveldb.include Merge #8826: Do not include env_win.cc on non-Windows systems 2016-09-29 17:27:28 +02:00
Makefile.qt.include Merge #8996: Network activity toggle 2016-11-11 11:16:40 +01:00
Makefile.qttest.include Add MIT license to Makefiles 2016-09-21 22:35:12 +00:00
Makefile.test.include Bugfix: Correctly replace generated headers and fail cleanly 2016-11-12 07:16:28 +00:00
addrdb.cpp net: move CBanDB and CAddrDB out of net.h/cpp 2016-09-08 12:03:22 -04:00
addrdb.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
addrman.cpp Kill insecure_random and associated global state 2016-10-17 13:08:35 +02:00
addrman.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
amount.cpp
amount.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
arith_uint256.cpp [copyright] copyright header style uniform 2016-11-06 10:12:50 -07:00
arith_uint256.h [copyright] copyright header style uniform 2016-11-06 10:12:50 -07:00
base58.cpp Use prefix operator in for loop of DecodeBase58. 2016-09-16 19:13:01 +08:00
base58.h
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge #9067: Fix exit codes 2016-11-08 10:55:03 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Missed one "return false" in recent refactoring in #9067 2016-11-10 00:53:55 +03:00
bitcoind-res.rc
bitcoind.cpp Every main()/exit() should return/use one of EXIT_ codes instead of magic numbers 2016-11-07 21:31:38 +03:00
blockencodings.cpp Merge #9039: Various serialization simplifcations and optimizations 2016-11-09 13:52:04 +01:00
blockencodings.h Merge #9039: Various serialization simplifcations and optimizations 2016-11-09 13:52:04 +01:00
bloom.cpp trivial: fix bloom filter init to isEmpty = true 2016-11-01 21:04:26 -04:00
bloom.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
chain.cpp Add importmulti rpc call 2016-10-19 15:17:13 +01:00
chain.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
chainparams.cpp IBD check uses minimumchain work instead of checkpoints. 2016-11-02 01:47:02 +00:00
chainparams.h RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC 2016-10-18 13:17:38 +02:00
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h
checkpoints.cpp Remove GetTotalBlocksEstimate and checkpoint tests that test nothing. 2016-11-02 01:49:45 +00:00
checkpoints.h Remove GetTotalBlocksEstimate and checkpoint tests that test nothing. 2016-11-02 01:49:45 +00:00
checkqueue.h
clientversion.cpp build: Get rid of `CLIENT_DATE` 2016-06-09 13:34:09 +02:00
clientversion.h build: bump version to 0.13.99 2016-07-18 12:22:18 +02:00
coins.cpp Fix relaypriority calculation error 2016-09-20 11:45:30 +08:00
coins.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
compat.h don't run ThreadMessageHandler at lowered priority 2016-05-05 13:25:35 -07:00
compressor.cpp
compressor.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
core_io.h BIP144: Serialization, hashes, relay (sender side) 2016-06-22 15:42:59 +02:00
core_memusage.h Rename CTxinWitness -> CTxInWitness 2016-07-06 19:46:46 -04:00
core_read.cpp BIP144: Serialization, hashes, relay (sender side) 2016-06-22 15:42:59 +02:00
core_write.cpp Update bitcoin-tx to output witness data. 2016-10-05 09:00:34 -04:00
dbwrapper.cpp C++11: s/boost::scoped_ptr/std::unique_ptr/ 2016-09-01 19:05:07 +02:00
dbwrapper.h Use fixed preallocation instead of costly GetSerializeSize 2016-11-07 13:56:27 -08:00
hash.cpp Support SipHash with arbitrary byte writes 2016-06-07 16:20:40 +02:00
hash.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
httprpc.cpp [RPC] pass HTTP basic authentication username to the JSONRequest object 2016-10-19 14:47:27 +02:00
httprpc.h
httpserver.cpp Merge #8109: Do not shadow member variables 2016-08-26 18:13:22 +02:00
httpserver.h Fix a type error that would not compile on Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) 2016-08-14 20:45:46 -04:00
indirectmap.h prepend license statement to indirectmap 2016-07-27 16:27:07 -07:00
init.cpp Unset fImporting for loading mempool 2016-11-11 09:33:16 -05:00
init.h
key.cpp wallet: Get rid of LockObject and UnlockObject calls in key.h 2016-10-19 16:17:33 +02:00
key.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
keystore.cpp
keystore.h
limitedmap.h use std::map::erase(const_iterator, const_iterator) to get non-constant iterator 2016-08-09 03:11:28 +03:00
main.cpp [trivial] Fix hungarian variable name 2016-11-14 14:02:24 -05:00
main.h Remove redundant duplicate-input check from CheckTransaction 2016-11-09 11:28:00 -08:00
memusage.h [copyright] copyright header style uniform 2016-11-06 10:12:50 -07:00
merkleblock.cpp BIP141: Other consensus critical limits, and BIP145 2016-06-22 15:43:00 +02:00
merkleblock.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
miner.cpp Merge #8838: Calculate size and weight of block correctly in CreateNewBlock() 2016-11-17 14:14:51 +01:00
miner.h Merge #8223: [c++11] Use std::unique_ptr for block creation. 2016-10-18 21:16:08 +02:00
net.cpp Merge #8996: Network activity toggle 2016-11-11 11:16:40 +01:00
net.h fNetworkActive is not protected by a lock, use an atomic 2016-11-11 14:09:52 +01:00
netaddress.cpp Do not shadow variables in networking code 2016-08-15 14:10:07 +02:00
netaddress.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
netbase.cpp Kill insecure_random and associated global state 2016-10-17 13:08:35 +02:00
netbase.h Do not shadow variables in networking code 2016-08-15 14:10:07 +02:00
noui.cpp Do not ask a UI question from bitcoind 2016-06-24 16:45:12 +02:00
noui.h
pow.cpp
pow.h
prevector.h serialize: Deprecate `begin_ptr` / `end_ptr` 2016-10-02 09:50:25 +02:00
protocol.cpp Avoid ugly exception in log on unknown inv type 2016-11-09 11:16:39 +01:00
protocol.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
pubkey.cpp Do not shadow variables 2016-09-27 09:25:15 +02:00
pubkey.h Add optimized CSizeComputer serializers 2016-11-07 13:56:27 -08:00
random.cpp Kill insecure_random and associated global state 2016-10-17 13:08:35 +02:00
random.h Kill insecure_random and associated global state 2016-10-17 13:08:35 +02:00
rest.cpp Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
reverselock.h Do not shadow variables 2016-09-27 09:25:15 +02:00
scheduler.cpp test: Fix use-after-free in scheduler tests 2016-11-18 13:10:52 +01:00
scheduler.h
serialize.h Add optimized CSizeComputer serializers 2016-11-07 13:56:27 -08:00
streams.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
sync.cpp
sync.h Do not shadow LOCK's criticalblock variable for LOCK inside LOCK 2016-08-06 10:54:29 +02:00
threadsafety.h
timedata.cpp net: narrow include scope after moving to netaddress 2016-07-31 14:01:44 -04:00
timedata.h
tinyformat.h util: Update tinyformat 2016-06-27 18:17:27 +02:00
torcontrol.cpp Do not shadow variables 2016-09-27 09:25:15 +02:00
torcontrol.h
txdb.cpp C++11: s/boost::scoped_ptr/std::unique_ptr/ 2016-09-01 19:05:07 +02:00
txdb.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
txmempool.cpp Remove priority estimation 2016-11-07 13:22:34 +01:00
txmempool.h Add feedelta to TxMempoolInfo 2016-10-30 23:12:09 -07:00
ui_interface.cpp [wallet] Add high transaction fee warnings 2016-09-26 01:11:27 +02:00
ui_interface.h Merge #8996: Network activity toggle 2016-11-11 11:16:40 +01:00
uint256.cpp Use SipHash-2-4 for CCoinsCache index 2016-05-17 20:04:46 +02:00
uint256.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
undo.h Get rid of nType and nVersion 2016-11-07 13:56:27 -08:00
util.cpp Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs 2016-10-01 08:12:19 +02:00
util.h Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs 2016-10-01 08:12:19 +02:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp util: Add ParseUInt32 and ParseUInt64 2016-06-08 10:28:51 +02:00
utilstrencodings.h util: Add ParseUInt32 and ParseUInt64 2016-06-08 10:28:51 +02:00
utiltime.cpp
utiltime.h
validationinterface.cpp Remove SyncWithWallets wrapper function 2016-10-04 13:53:04 -04:00
validationinterface.h Remove SyncWithWallets wrapper function 2016-10-04 13:53:04 -04:00
version.h Bump the protocol version to distinguish new banning behavior. 2016-11-03 13:07:13 -04:00
versionbits.cpp RPC: augment getblockchaininfo bip9_softforks data 2016-10-19 09:08:39 -04:00
versionbits.h RPC: augment getblockchaininfo bip9_softforks data 2016-10-19 09:08:39 -04:00