aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2021-01-02 22:18:52 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2021-01-02 22:20:24 +0000
commit1128146c4990385f781d0b9c0dc77e28bf0cf133 (patch)
tree2438fbf1a82cc91503d6086365e2adaea29da1d3
parentMerge pull request #7251 (diff)
downloadmonero-1128146c4990385f781d0b9c0dc77e28bf0cf133.tar.xz
blockchain: lock access to m_blocks_hash_of_hashes
it is accessed both when adding and when prevalidating a set of new hashes from a peer
-rw-r--r--src/cryptonote_core/blockchain.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp
index cd5b4f455..206d5fbb9 100644
--- a/src/cryptonote_core/blockchain.cpp
+++ b/src/cryptonote_core/blockchain.cpp
@@ -4749,6 +4749,8 @@ uint64_t Blockchain::prevalidate_block_hashes(uint64_t height, const std::vector
CHECK_AND_ASSERT_MES(weights.empty() || weights.size() == hashes.size(), 0, "Unexpected weights size");
+ CRITICAL_REGION_LOCAL(m_blockchain_lock);
+
// easy case: height >= hashes
if (height >= m_blocks_hash_of_hashes.size() * HASH_OF_HASHES_STEP)
return hashes.size();