diff options
author | W. J. van der Laan <laanwj@protonmail.com> | 2021-05-12 17:20:21 +0200 |
---|---|---|
committer | W. J. van der Laan <laanwj@protonmail.com> | 2021-05-12 17:39:39 +0200 |
commit | 6b49d88a5dda97fdbabe363fd7d3c4f1ce29082a (patch) | |
tree | 6dddc09ab5d40ddc6dd1eafb8c347083a8c214ed | |
parent | d2ec37221a5636650573e0f451f39c9fd563e935 (diff) | |
parent | 9c891b64ffd14bc8216dbd5eb60816043af265b6 (diff) |
Merge bitcoin/bitcoin#21905: net: initialize nMessageSize to uint32_t max
9c891b64ffd14bc8216dbd5eb60816043af265b6 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 9c891b64ffd14bc8216dbd5eb60816043af265b6
promag:
Code review ACK 9c891b64ffd14bc8216dbd5eb60816043af265b6.
Tree-SHA512: f05173d9553a01d207a5a7f8ff113d9e11354c50b494a67d44d3931c151581599a9da4e28f40edd113f4698ea9115e6092b2a5b7329c841426726772076c1493
-rw-r--r-- | src/protocol.cpp | 1 | ||||
-rw-r--r-- | src/protocol.h | 3 | ||||
-rw-r--r-- | test/sanitizer_suppressions/ubsan | 1 |
3 files changed, 2 insertions, 3 deletions
diff --git a/src/protocol.cpp b/src/protocol.cpp index 0b893b9272..2f77ec18e6 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -91,7 +91,6 @@ CMessageHeader::CMessageHeader() { memset(pchMessageStart, 0, MESSAGE_START_SIZE); memset(pchCommand, 0, sizeof(pchCommand)); - nMessageSize = -1; memset(pchChecksum, 0, CHECKSUM_SIZE); } diff --git a/src/protocol.h b/src/protocol.h index f183db0501..c73484bdf6 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -16,6 +16,7 @@ #include <uint256.h> #include <version.h> +#include <limits> #include <stdint.h> #include <string> @@ -51,7 +52,7 @@ public: char pchMessageStart[MESSAGE_START_SIZE]; char pchCommand[COMMAND_SIZE]; - uint32_t nMessageSize; + uint32_t nMessageSize{std::numeric_limits<uint32_t>::max()}; uint8_t pchChecksum[CHECKSUM_SIZE]; }; diff --git a/test/sanitizer_suppressions/ubsan b/test/sanitizer_suppressions/ubsan index b66ca00376..4f6f92bd3c 100644 --- a/test/sanitizer_suppressions/ubsan +++ b/test/sanitizer_suppressions/ubsan @@ -62,7 +62,6 @@ implicit-integer-sign-change:key.cpp implicit-integer-sign-change:noui.cpp implicit-integer-sign-change:policy/fees.cpp implicit-integer-sign-change:prevector.h -implicit-integer-sign-change:protocol.cpp implicit-integer-sign-change:script/bitcoinconsensus.cpp implicit-integer-sign-change:script/interpreter.cpp implicit-integer-sign-change:serialize.h |