diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2021-01-02 22:18:52 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2021-01-02 22:20:24 +0000 |
commit | 1128146c4990385f781d0b9c0dc77e28bf0cf133 (patch) | |
tree | 2438fbf1a82cc91503d6086365e2adaea29da1d3 | |
parent | Merge pull request #7251 (diff) | |
download | monero-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.cpp | 2 |
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(); |