diff --git a/src/main.cpp b/src/main.cpp index bcaf22472..c26dd2d98 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5056,16 +5056,19 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam { // Send stream from relay memory bool pushed = false; - map::iterator mi; { - LOCK(cs_mapRelay); - mi = mapRelay.find(inv); - if (mi != mapRelay.end()) { - pushed = true; + CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); + { + LOCK(cs_mapRelay); + map::iterator mi = mapRelay.find(inv); + if (mi != mapRelay.end()) { + ss += (*mi).second; + pushed = true; + } } + if(pushed) + pfrom->PushMessage(inv.GetCommand(), ss); } - if(pushed) - pfrom->PushMessage(inv.GetCommand(), (*mi).second); if (!pushed && inv.type == MSG_TX) { CTransaction tx;