From 5b3190c54af348f3706cfb22443da2985e5d879b Mon Sep 17 00:00:00 2001 From: Doug Hoyte Date: Fri, 21 Jul 2023 06:33:59 -0400 Subject: [PATCH] detect overflows when rejectEvents* config params are set very large --- src/events.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/events.cpp b/src/events.cpp index e4a2a35..f0c53a3 100644 --- a/src/events.cpp +++ b/src/events.cpp @@ -146,6 +146,10 @@ void verifyEventTimestamp(const NostrIndex::Event *flat) { uint64_t earliest = now - (flat->expiration() == 1 ? cfg().events__rejectEphemeralEventsOlderThanSeconds : cfg().events__rejectEventsOlderThanSeconds); uint64_t latest = now + cfg().events__rejectEventsNewerThanSeconds; + // overflows + if (earliest > now) earliest = 0; + if (latest < now) latest = MAX_U64 - 1; + if (ts < earliest) throw herr("created_at too early"); if (ts > latest) throw herr("created_at too late");