fix relay bug (#1178)

This commit is contained in:
UdjinM6 2016-12-02 14:32:28 +04:00 committed by GitHub
parent d9fb724943
commit c3e5757c25

View File

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