Use 'unsigned char' rather than 'char' for pchMessageStart.
Regarding https://bitcointalk.org/index.php?topic=28022.0 main.cpp has: "char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };" Per discussion on the thread linked, leaving the signedness of pchMessageStart is unsafe for values > 0x80. This patch specifies 'unsigned char' in main.cpp and net.h. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
eb20f3c8f5
commit
25133bd74b
2 changed files with 2 additions and 2 deletions
|
@ -1766,7 +1766,7 @@ bool static AlreadyHave(CTxDB& txdb, const CInv& inv)
|
||||||
// The message start string is designed to be unlikely to occur in normal data.
|
// The message start string is designed to be unlikely to occur in normal data.
|
||||||
// The characters are rarely used upper ascii, not valid as UTF-8, and produce
|
// The characters are rarely used upper ascii, not valid as UTF-8, and produce
|
||||||
// a large 4-byte int at any alignment.
|
// a large 4-byte int at any alignment.
|
||||||
char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };
|
unsigned char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };
|
||||||
|
|
||||||
|
|
||||||
bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||||
|
|
|
@ -66,7 +66,7 @@ bool StopNode();
|
||||||
// (4) size
|
// (4) size
|
||||||
// (4) checksum
|
// (4) checksum
|
||||||
|
|
||||||
extern char pchMessageStart[4];
|
extern unsigned char pchMessageStart[4];
|
||||||
|
|
||||||
class CMessageHeader
|
class CMessageHeader
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue