aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-10-01 13:26:53 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2014-10-01 13:28:16 +0200
commit1fbccda8d0d5ccfeef46e10253315c5c6977817c (patch)
tree86f13328c0eff12d3e3b42ff9be39e078ae11b83
parenta41943df586136e774a68cd381fedffa38980e78 (diff)
parent62e5f8f96114a872354103ef566b5c74a16154d4 (diff)
downloadbitcoin-1fbccda8d0d5ccfeef46e10253315c5c6977817c.tar.xz
Merge pull request #4940
62e5f8f CMessageHeader sanity changes (Wladimir J. van der Laan)
-rw-r--r--src/protocol.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/protocol.cpp b/src/protocol.cpp
index 341de0602a..0e28f3abbd 100644
--- a/src/protocol.cpp
+++ b/src/protocol.cpp
@@ -24,7 +24,6 @@ CMessageHeader::CMessageHeader()
{
memcpy(pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE);
memset(pchCommand, 0, sizeof(pchCommand));
- pchCommand[1] = 1;
nMessageSize = -1;
nChecksum = 0;
}
@@ -32,6 +31,7 @@ CMessageHeader::CMessageHeader()
CMessageHeader::CMessageHeader(const char* pszCommand, unsigned int nMessageSizeIn)
{
memcpy(pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE);
+ memset(pchCommand, 0, sizeof(pchCommand));
strncpy(pchCommand, pszCommand, COMMAND_SIZE);
nMessageSize = nMessageSizeIn;
nChecksum = 0;
@@ -39,10 +39,7 @@ CMessageHeader::CMessageHeader(const char* pszCommand, unsigned int nMessageSize
std::string CMessageHeader::GetCommand() const
{
- if (pchCommand[COMMAND_SIZE-1] == 0)
- return std::string(pchCommand, pchCommand + strlen(pchCommand));
- else
- return std::string(pchCommand, pchCommand + COMMAND_SIZE);
+ return std::string(pchCommand, pchCommand + strnlen(pchCommand, COMMAND_SIZE));
}
bool CMessageHeader::IsValid() const