curl / Mailing Lists / curl-library / Single Mail

curl-library

[PATCH v2] timeval.c: Use long long constant type for timeval assignment

From: Martin Kepplinger <martink_at_posteo.de>
Date: Mon, 3 Jul 2017 13:23:47 +0200

On a 64 bit host, sparse says:

timeval.c:148:15: warning: constant 0x7fffffffffffffff is so big it is long
timeval.c:149:12: warning: constant 0x7fffffffffffffff is so big it is long

so let's use long long constant types in order to prevent undesired overflow
failures.

Signed-off-by: Martin Kepplinger <martink_at_posteo.de>

---
Thanks Daniel, indeed we have to use signed values. sparse doesn't complain on
my 32 bit machine, but I still think using long long is even more safe here.
 lib/timeval.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/timeval.c b/lib/timeval.c
index 1012b4e39..aff53cddc 100644
--- a/lib/timeval.c
+++ b/lib/timeval.c
@@ -145,8 +145,8 @@ time_t Curl_tvdiff_us(struct timeval newer, struct timeval older)
     return 0x7fffffff;
 #else
   /* for 64bit time_t systems */
-  if(diff >= (0x7fffffffffffffff/1000000))
-    return 0x7fffffffffffffff;
+  if(diff >= (0x7fffffffffffffffLL/1000000))
+    return 0x7fffffffffffffffLL;
 #endif
   return (newer.tv_sec-older.tv_sec)*1000000+
     (time_t)(newer.tv_usec-older.tv_usec);
-- 
2.11.0
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html
Received on 2017-07-03