From 994ac494724e636bee34ac1ddbbe0eb316cd04f9 Mon Sep 17 00:00:00 2001 From: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com> Date: Fri, 18 Mar 2022 12:04:11 +0200 Subject: [PATCH] Fix: timestamp type could overflow before conversion (#892) --- tests/v2/test_message_store.nim | 2 +- waku/v2/utils/time.nim | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/v2/test_message_store.nim b/tests/v2/test_message_store.nim index fc7031804..cda8190f5 100644 --- a/tests/v2/test_message_store.nim +++ b/tests/v2/test_message_store.nim @@ -19,7 +19,7 @@ suite "Message Store": t1 = getNanosecondTime(epochTime()) t2 = getNanosecondTime(epochTime()) - t3 = getNanosecondTime(high(float64)) + t3 = high(int64) var msgs = @[ WakuMessage(payload: @[byte 1, 2, 3], contentTopic: topic, version: uint32(0), timestamp: t1), WakuMessage(payload: @[byte 1, 2, 3, 4], contentTopic: topic, version: uint32(1), timestamp: t2), diff --git a/waku/v2/utils/time.nim b/waku/v2/utils/time.nim index ae4d55cd3..3208efd7b 100644 --- a/waku/v2/utils/time.nim +++ b/waku/v2/utils/time.nim @@ -9,15 +9,15 @@ type Timestamp* = int64 const TIMESTAMP_TABLE_TYPE* = "INTEGER" proc getNanosecondTime*[T](timeInSeconds: T): Timestamp = - var ns = Timestamp(timeInSeconds*1000_000_000) + var ns = Timestamp(timeInSeconds.int64 * 1000_000_000.int64) return ns proc getMicrosecondTime*[T](timeInSeconds: T): Timestamp = - var us = Timestamp(timeInSeconds*1000_000) + var us = Timestamp(timeInSeconds.int64 * 1000_000.int64) return us proc getMillisecondTime*[T](timeInSeconds: T): Timestamp = - var ms = Timestamp(timeInSeconds*1000) + var ms = Timestamp(timeInSeconds.int64 * 1000.int64) return ms proc column_timestamp*(a1: ptr sqlite3_stmt, iCol: cint): int64 =