diff options
| author | Wladimir J. van der Laan <[email protected]> | 2014-08-18 09:47:06 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2014-08-18 09:55:24 +0200 |
| commit | 21e7a5690f77eb2ac04befe07008367cdf142905 (patch) | |
| tree | 0d57b9b95c7630319ce4d8700e4b2e424f4a81bb /src/main.cpp | |
| parent | Merge pull request #4709 (diff) | |
| parent | Add a way to limit deserialized string lengths (diff) | |
| download | discoin-21e7a5690f77eb2ac04befe07008367cdf142905.tar.xz discoin-21e7a5690f77eb2ac04befe07008367cdf142905.zip | |
Merge pull request #4655
216e9a4 Add a way to limit deserialized string lengths (Pieter Wuille)
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/main.cpp b/src/main.cpp index e135e93ad..09b10c8e5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3568,7 +3568,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, if (!vRecv.empty()) vRecv >> addrFrom >> nNonce; if (!vRecv.empty()) { - vRecv >> pfrom->strSubVer; + vRecv >> LIMITED_STRING(pfrom->strSubVer, 256); pfrom->cleanSubVer = SanitizeString(pfrom->strSubVer); } if (!vRecv.empty()) @@ -4192,7 +4192,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, if (fDebug) { string strMsg; unsigned char ccode; string strReason; - vRecv >> strMsg >> ccode >> strReason; + vRecv >> LIMITED_STRING(strMsg, CMessageHeader::COMMAND_SIZE) >> ccode >> LIMITED_STRING(strReason, 111); ostringstream ss; ss << strMsg << " code " << itostr(ccode) << ": " << strReason; @@ -4203,10 +4203,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, vRecv >> hash; ss << ": hash " << hash.ToString(); } - // Truncate to reasonable length and sanitize before printing: - string s = ss.str(); - if (s.size() > 111) s.erase(111, string::npos); - LogPrint("net", "Reject %s\n", SanitizeString(s)); + LogPrint("net", "Reject %s\n", SanitizeString(ss.str())); } } |