aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2019-05-22 08:17:46 -0400
committerMarcoFalke <falke.marco@gmail.com>2019-05-22 08:17:48 -0400
commit1c177c3a004f91eca743bb3a0dd9534a544026d5 (patch)
treea5e92da9af19d0757d4298145cb6b721ff7711d9
parent953f75767727f26fad72ee5a16083938ff09fd73 (diff)
parent1609809fb2a4c2ec15b7c26dc328e2e666bd5d57 (diff)
downloadbitcoin-1c177c3a004f91eca743bb3a0dd9534a544026d5.tar.xz
Merge #16015: validation: Hold cs_main when reading chainActive in RewindBlockIndex
1609809fb2 validation: Hold cs_main when reading chainActive in RewindBlockIndex (practicalswift) Pull request description: Fixes #15980. Hold `cs_main` when reading `chainActive` (via `::ChainActive()`) in `RewindBlockIndex`. ACKs for commit 160980: MarcoFalke: utACK 1609809fb2a4c2ec15b7c26dc328e2e666bd5d57 Tree-SHA512: 54f180ab391f92f04950735c2bb337f0b7495826d2096f7a0f9a2da50bc29d08747f404a0495e33ca4edd4c842efbab4c4730d5e1a8b9da3e1249cf884268f4b
-rw-r--r--src/validation.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/validation.cpp b/src/validation.cpp
index 4347e0b0cc..436c62261b 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -4307,6 +4307,7 @@ bool RewindBlockIndex(const CChainParams& params) {
return false;
}
+ LOCK(cs_main);
if (::ChainActive().Tip() != nullptr) {
// FlushStateToDisk can possibly read ::ChainActive(). Be conservative
// and skip it here, we're about to -reindex-chainstate anyway, so