Merge 6bc1eca01b into merged_master (Bitcoin PR bitcoin/bitcoin#22144)

This commit is contained in:
Andrew Poelstra 2021-07-25 21:00:04 +00:00
commit ebffc84d07

View file

@ -2213,6 +2213,7 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
void CConnman::ThreadMessageHandler()
{
FastRandomContext rng;
while (!flagInterruptMsgProc)
{
std::vector<CNode*> vNodesCopy;
@ -2226,6 +2227,11 @@ void CConnman::ThreadMessageHandler()
bool fMoreWork = false;
// Randomize the order in which we process messages from/to our peers.
// This prevents attacks in which an attacker exploits having multiple
// consecutive connections in the vNodes list.
Shuffle(vNodesCopy.begin(), vNodesCopy.end(), rng);
for (CNode* pnode : vNodesCopy)
{
if (pnode->fDisconnect)