Browse Source

src/main.cpp: endian compatibility in packet checksum check

0.13
Wladimir J. van der Laan 10 years ago
parent
commit
556814ec4e
  1. 3
      src/main.cpp

3
src/main.cpp

@ -4318,8 +4318,7 @@ bool ProcessMessages(CNode* pfrom)
// Checksum // Checksum
CDataStream& vRecv = msg.vRecv; CDataStream& vRecv = msg.vRecv;
uint256 hash = Hash(vRecv.begin(), vRecv.begin() + nMessageSize); uint256 hash = Hash(vRecv.begin(), vRecv.begin() + nMessageSize);
unsigned int nChecksum = 0; unsigned int nChecksum = ReadLE32((unsigned char*)&hash);
memcpy(&nChecksum, &hash, sizeof(nChecksum));
if (nChecksum != hdr.nChecksum) if (nChecksum != hdr.nChecksum)
{ {
LogPrintf("ProcessMessages(%s, %u bytes): CHECKSUM ERROR nChecksum=%08x hdr.nChecksum=%08x\n", LogPrintf("ProcessMessages(%s, %u bytes): CHECKSUM ERROR nChecksum=%08x hdr.nChecksum=%08x\n",

Loading…
Cancel
Save