diff options
| author | Wladimir J. van der Laan <[email protected]> | 2016-09-30 17:10:46 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2016-09-30 17:10:58 +0200 |
| commit | 9bc6a6bd7b0ddb12cbafdd6d3b70fb6b10c0d2ba (patch) | |
| tree | 9b55587e612c57457d2875ddde1ab10b2e470c44 /src/main.cpp | |
| parent | Merge #8830: [test] Add option to run bitcoin-util-test.py manually (diff) | |
| parent | net: Hardcode protocol sizes and use fixed-size types (diff) | |
| download | discoin-9bc6a6bd7b0ddb12cbafdd6d3b70fb6b10c0d2ba.tar.xz discoin-9bc6a6bd7b0ddb12cbafdd6d3b70fb6b10c0d2ba.zip | |
Merge #8822: net: Consistent checksum handling
305087b net: Hardcode protocol sizes and use fixed-size types (Wladimir J. van der Laan)
41e58fa net: Consistent checksum handling (Wladimir J. van der Laan)
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main.cpp b/src/main.cpp index c33b41ac4..ab6721971 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6253,11 +6253,12 @@ bool ProcessMessages(CNode* pfrom, CConnman& connman) // Checksum CDataStream& vRecv = msg.vRecv; uint256 hash = Hash(vRecv.begin(), vRecv.begin() + nMessageSize); - unsigned int nChecksum = ReadLE32((unsigned char*)&hash); - if (nChecksum != hdr.nChecksum) + if (memcmp(hash.begin(), hdr.pchChecksum, CMessageHeader::CHECKSUM_SIZE) != 0) { - LogPrintf("%s(%s, %u bytes): CHECKSUM ERROR nChecksum=%08x hdr.nChecksum=%08x\n", __func__, - SanitizeString(strCommand), nMessageSize, nChecksum, hdr.nChecksum); + LogPrintf("%s(%s, %u bytes): CHECKSUM ERROR expected %s was %s\n", __func__, + SanitizeString(strCommand), nMessageSize, + HexStr(hash.begin(), hash.begin()+CMessageHeader::CHECKSUM_SIZE), + HexStr(hdr.pchChecksum, hdr.pchChecksum+CMessageHeader::CHECKSUM_SIZE)); continue; } |