diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-04-15 08:02:18 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-04-15 08:02:22 +0200 |
commit | 9712f75746e3da73471da2e23a4bfc1382c69308 (patch) | |
tree | 03625d8babe92925bff0519139c77c5d9e03cb40 | |
parent | 2cd834e6c09dbbb676ecac4a36d8f0f56b4fe4b2 (diff) | |
parent | 6262182b3f1c9540291fb8de3bf7a785e7113c55 (diff) | |
download | bitcoin-9712f75746e3da73471da2e23a4bfc1382c69308.tar.xz |
Merge #21677: fuzz: Avoid use of low file descriptor ids (which may be in use) in FuzzedSock
6262182b3f1c9540291fb8de3bf7a785e7113c55 Avoid use of low file descriptor ids (which may be in use) in FuzzedSock and StaticContentsSock (practicalswift)
Pull request description:
Avoid use of low file descriptor ids (which may be in use) in `FuzzedSock`.
Context: https://github.com/bitcoin/bitcoin/pull/21630/files#r610694541
ACKs for top commit:
vasild:
ACK 6262182b3f1c9540291fb8de3bf7a785e7113c55
Tree-SHA512: e622acb4d01446c3db01adbbbb779038be7247e13f3f4e72c614bc2880c3efd710fd3b189f87abb00f236fa5ddf91f4c215f420ca4eb08a97aaba31593254c3d
-rw-r--r-- | src/test/fuzz/util.h | 6 | ||||
-rw-r--r-- | src/test/util/net.h | 3 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/test/fuzz/util.h b/src/test/fuzz/util.h index adcdd71748..a3feddc21d 100644 --- a/src/test/fuzz/util.h +++ b/src/test/fuzz/util.h @@ -577,15 +577,15 @@ class FuzzedSock : public Sock public: explicit FuzzedSock(FuzzedDataProvider& fuzzed_data_provider) : m_fuzzed_data_provider{fuzzed_data_provider} { - m_socket = fuzzed_data_provider.ConsumeIntegral<SOCKET>(); + m_socket = fuzzed_data_provider.ConsumeIntegralInRange<SOCKET>(INVALID_SOCKET - 1, INVALID_SOCKET); } ~FuzzedSock() override { // Sock::~Sock() will be called after FuzzedSock::~FuzzedSock() and it will call // Sock::Reset() (not FuzzedSock::Reset()!) which will call CloseSocket(m_socket). - // Avoid closing an arbitrary file descriptor (m_socket is just a random number which - // may concide with a real opened file descriptor). + // Avoid closing an arbitrary file descriptor (m_socket is just a random very high number which + // theoretically may concide with a real opened file descriptor). Reset(); } diff --git a/src/test/util/net.h b/src/test/util/net.h index 2b7988413f..9268d60a1e 100644 --- a/src/test/util/net.h +++ b/src/test/util/net.h @@ -78,8 +78,7 @@ public: explicit StaticContentsSock(const std::string& contents) : m_contents{contents}, m_consumed{0} { // Just a dummy number that is not INVALID_SOCKET. - static_assert(INVALID_SOCKET != 1000); - m_socket = 1000; + m_socket = INVALID_SOCKET - 1; } ~StaticContentsSock() override { Reset(); } |