Skip to content

Commit 6b49d88

Browse files
committed
Merge bitcoin#21905: net: initialize nMessageSize to uint32_t max
9c891b6 net: initialize nMessageSize to max uint32_t instead of -1 (eugene) Pull request description: nMessageSize is uint32_t and is set to -1. This will warn with `-fsanitize=implicit-integer-sign-change` when V1TransportDeserializer calls into the ctor. This pull initializes nMessageSize to `numeric_limits<uint32_t>::max()` instead and removes the ubsan suppression. ACKs for top commit: laanwj: Code review ACK 9c891b6 promag: Code review ACK 9c891b6. Tree-SHA512: f05173d9553a01d207a5a7f8ff113d9e11354c50b494a67d44d3931c151581599a9da4e28f40edd113f4698ea9115e6092b2a5b7329c841426726772076c1493
2 parents d2ec372 + 9c891b6 commit 6b49d88

File tree

3 files changed

+2
-3
lines changed

3 files changed

+2
-3
lines changed

src/protocol.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ CMessageHeader::CMessageHeader()
9191
{
9292
memset(pchMessageStart, 0, MESSAGE_START_SIZE);
9393
memset(pchCommand, 0, sizeof(pchCommand));
94-
nMessageSize = -1;
9594
memset(pchChecksum, 0, CHECKSUM_SIZE);
9695
}
9796

src/protocol.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <uint256.h>
1717
#include <version.h>
1818

19+
#include <limits>
1920
#include <stdint.h>
2021
#include <string>
2122

@@ -51,7 +52,7 @@ class CMessageHeader
5152

5253
char pchMessageStart[MESSAGE_START_SIZE];
5354
char pchCommand[COMMAND_SIZE];
54-
uint32_t nMessageSize;
55+
uint32_t nMessageSize{std::numeric_limits<uint32_t>::max()};
5556
uint8_t pchChecksum[CHECKSUM_SIZE];
5657
};
5758

test/sanitizer_suppressions/ubsan

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ implicit-integer-sign-change:key.cpp
6262
implicit-integer-sign-change:noui.cpp
6363
implicit-integer-sign-change:policy/fees.cpp
6464
implicit-integer-sign-change:prevector.h
65-
implicit-integer-sign-change:protocol.cpp
6665
implicit-integer-sign-change:script/bitcoinconsensus.cpp
6766
implicit-integer-sign-change:script/interpreter.cpp
6867
implicit-integer-sign-change:serialize.h

0 commit comments

Comments
 (0)