|
|
|
@ -3567,6 +3567,16 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
@@ -3567,6 +3567,16 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
|
|
|
|
CInv inv(MSG_TX, tx.GetHash()); |
|
|
|
|
pfrom->AddInventoryKnown(inv); |
|
|
|
|
|
|
|
|
|
// Truncate messages to the size of the tx in them
|
|
|
|
|
unsigned int nSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); |
|
|
|
|
unsigned int oldSize = vMsg.size(); |
|
|
|
|
if (nSize < oldSize) { |
|
|
|
|
vMsg.resize(nSize); |
|
|
|
|
printf("truncating oversized TX %s (%u -> %u)\n", |
|
|
|
|
tx.GetHash().ToString().c_str(), |
|
|
|
|
oldSize, nSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool fMissingInputs = false; |
|
|
|
|
CValidationState state; |
|
|
|
|
if (mempool.accept(state, tx, true, &fMissingInputs)) |
|
|
|
|