Skip to content

Commit 7de2cf9

Browse files
author
MarcoFalke
committed
Merge bitcoin/bitcoin#23992: fuzz: Limit fuzzed time to years 2000-2100
fa72383 fuzz: Limit fuzzed time to years 2000-2100 (MarcoFalke) Pull request description: It doesn't make sense to fuzz times in the past, as Bitcoin Core will refuse to start in the past. Fix that and also remove a sanitizer suppression, which would be hit in net_processing in `ProcessMessage`: ```cpp if (addr.nTime <= 100000000 || addr.nTime > nNow + 10 * 60) addr.nTime = nNow - 5 * 24 * 60 * 60; // <-- Here ``` This changes the format of fuzz inputs. Previously a time value was (de)serialized as 40 bytes, now it is 32 bytes. ACKs for top commit: mzumsande: Code Review ACK fa72383 Tree-SHA512: ca6e7233beec2d9ef9fd481d8f1331942a4d2c8fe518b857629bebcc53a4f42ae123b994cf5d359384a0a8022098ff5a9c146600bc2593c6d88734e25bc240ad
2 parents 4a06250 + fa72383 commit 7de2cf9

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

src/test/fuzz/util.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,8 @@ CAmount ConsumeMoney(FuzzedDataProvider& fuzzed_data_provider, const std::option
281281
int64_t ConsumeTime(FuzzedDataProvider& fuzzed_data_provider, const std::optional<int64_t>& min, const std::optional<int64_t>& max) noexcept
282282
{
283283
// Avoid t=0 (1970-01-01T00:00:00Z) since SetMockTime(0) disables mocktime.
284-
static const int64_t time_min = ParseISO8601DateTime("1970-01-01T00:00:01Z");
285-
static const int64_t time_max = ParseISO8601DateTime("9999-12-31T23:59:59Z");
284+
static const int64_t time_min{ParseISO8601DateTime("2000-01-01T00:00:01Z")};
285+
static const int64_t time_max{ParseISO8601DateTime("2100-12-31T23:59:59Z")};
286286
return fuzzed_data_provider.ConsumeIntegralInRange<int64_t>(min.value_or(time_min), max.value_or(time_max));
287287
}
288288

test/sanitizer_suppressions/ubsan

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ implicit-signed-integer-truncation:chain.h
9696
implicit-signed-integer-truncation:crypto/
9797
implicit-signed-integer-truncation:node/miner.cpp
9898
implicit-signed-integer-truncation:net.cpp
99-
implicit-signed-integer-truncation:net_processing.cpp
10099
implicit-signed-integer-truncation:streams.h
101100
implicit-signed-integer-truncation:test/arith_uint256_tests.cpp
102101
implicit-signed-integer-truncation:test/skiplist_tests.cpp

0 commit comments

Comments
 (0)