aboutsummaryrefslogtreecommitdiff
path: root/src/validation.cpp
diff options
context:
space:
mode:
authorMarcoFalke <[email protected]>2019-05-22 08:17:46 -0400
committerMarcoFalke <[email protected]>2019-05-22 08:17:48 -0400
commit1c177c3a004f91eca743bb3a0dd9534a544026d5 (patch)
treea5e92da9af19d0757d4298145cb6b721ff7711d9 /src/validation.cpp
parentMerge #16049: depends: switch to secure download of all dependencies (diff)
parentvalidation: Hold cs_main when reading chainActive in RewindBlockIndex (diff)
downloaddiscoin-1c177c3a004f91eca743bb3a0dd9534a544026d5.tar.xz
discoin-1c177c3a004f91eca743bb3a0dd9534a544026d5.zip
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
Diffstat (limited to 'src/validation.cpp')
-rw-r--r--src/validation.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/validation.cpp b/src/validation.cpp
index 4347e0b0c..436c62261 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