Add missing cs_main lock to ::GETBLOCKTXN processing
Note that this is not a major issue as, in order for the missing lock to cause issues, you have to receive a GETBLOCKTXN message while reindexing, adding a block header via RPC, etc, which results in either a table rehash or an insert into the bucket which you are currently looking at. Github-Pull: #8995 Rebased-From: dfe79060a62c8de098e75d527d97b99c3b10de50
This commit is contained in:
committed by
Wladimir J. van der Laan
parent
03422e564b
commit
9ef38758a6
@@ -5388,6 +5388,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
BlockTransactionsRequest req;
|
||||
vRecv >> req;
|
||||
|
||||
LOCK(cs_main);
|
||||
|
||||
BlockMap::iterator it = mapBlockIndex.find(req.blockhash);
|
||||
if (it == mapBlockIndex.end() || !(it->second->nStatus & BLOCK_HAVE_DATA)) {
|
||||
LogPrintf("Peer %d sent us a getblocktxn for a block we don't have", pfrom->id);
|
||||
|
||||
Reference in New Issue
Block a user