From c736c693049e659603b5cc2efb22092d921cc250 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Mon, 21 Feb 2022 16:18:10 +0000 Subject: Fix [fb4a0a6675]: signed integer overflow in TclpGetClicks() --- unix/tclUnixTime.c | 4 ++-- win/tclWinTime.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/unix/tclUnixTime.c b/unix/tclUnixTime.c index 0fc87ea..3694ba2 100644 --- a/unix/tclUnixTime.c +++ b/unix/tclUnixTime.c @@ -136,7 +136,7 @@ TclpGetClicks(void) Tcl_Time time; tclGetTimeProcPtr(&time, tclTimeClientData); - now = time.sec*1000000 + time.usec; + now = ((unsigned long)(time.sec)*1000000UL) + (unsigned long)(time.usec); } else { /* * A semi-NativeGetTime, specialized to clicks. @@ -149,7 +149,7 @@ TclpGetClicks(void) Tcl_Time time; tclGetTimeProcPtr(&time, tclTimeClientData); - now = time.sec*1000000 + time.usec; + now = ((unsigned long)(time.sec)*1000000UL) + (unsigned long)(time.usec); #endif return now; diff --git a/win/tclWinTime.c b/win/tclWinTime.c index f75567e..ed58824 100644 --- a/win/tclWinTime.c +++ b/win/tclWinTime.c @@ -225,7 +225,7 @@ TclpGetClicks(void) Tcl_Time now; /* Current Tcl time */ tclGetTimeProcPtr(&now, tclTimeClientData); /* Tcl_GetTime inlined */ - return (unsigned long)(now.sec * 1000000) + now.usec; + return ((unsigned long)(now.sec)*1000000UL) + (unsigned long)(now.usec); } } -- cgit v0.12