aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorW. J. van der Laan <laanwj@protonmail.com>2021-05-12 17:20:21 +0200
committerW. J. van der Laan <laanwj@protonmail.com>2021-05-12 17:39:39 +0200
commit6b49d88a5dda97fdbabe363fd7d3c4f1ce29082a (patch)
tree6dddc09ab5d40ddc6dd1eafb8c347083a8c214ed
parentd2ec37221a5636650573e0f451f39c9fd563e935 (diff)
parent9c891b64ffd14bc8216dbd5eb60816043af265b6 (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.cpp1
-rw-r--r--src/protocol.h3
-rw-r--r--test/sanitizer_suppressions/ubsan1
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