1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-16 14:35:03 -05:00

timediff: fix math for unsigned time_t

Bug: https://curl.haxx.se/mail/lib-2018-12/0088.html

Closes #3449
This commit is contained in:
Daniel Stenberg 2019-01-08 17:34:45 +01:00
parent 114a02c75b
commit 1a93153783
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
@ -187,7 +187,7 @@ struct curltime Curl_now(void)
*/ */
timediff_t Curl_timediff(struct curltime newer, struct curltime older) timediff_t Curl_timediff(struct curltime newer, struct curltime older)
{ {
timediff_t diff = newer.tv_sec-older.tv_sec; timediff_t diff = (timediff_t)newer.tv_sec-older.tv_sec;
if(diff >= (TIME_MAX/1000)) if(diff >= (TIME_MAX/1000))
return TIME_MAX; return TIME_MAX;
else if(diff <= (TIME_MIN/1000)) else if(diff <= (TIME_MIN/1000))
@ -201,7 +201,7 @@ timediff_t Curl_timediff(struct curltime newer, struct curltime older)
*/ */
timediff_t Curl_timediff_us(struct curltime newer, struct curltime older) timediff_t Curl_timediff_us(struct curltime newer, struct curltime older)
{ {
timediff_t diff = newer.tv_sec-older.tv_sec; timediff_t diff = (timediff_t)newer.tv_sec-older.tv_sec;
if(diff >= (TIME_MAX/1000000)) if(diff >= (TIME_MAX/1000000))
return TIME_MAX; return TIME_MAX;
else if(diff <= (TIME_MIN/1000000)) else if(diff <= (TIME_MIN/1000000))