diff mbox series

ugps: fix 64-bit time_t

Message ID 20200721225037.97851-1-rosenp@gmail.com
State Superseded
Headers show
Series ugps: fix 64-bit time_t | expand

Commit Message

Rosen Penev July 21, 2020, 10:50 p.m. UTC
The abs function takes a 32-bit int, which can cause truncation. Fixes
compilation error:

error: absolute value function 'abs' given an argu>
if ((sec < 0) || (abs(cur.tv_sec - tv.tv_sec) > MAX_TIME_OFFSET)) {

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 nmea.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rosen Penev Aug. 29, 2020, 3:21 a.m. UTC | #1
On Tue, Jul 21, 2020 at 3:50 PM Rosen Penev <rosenp@gmail.com> wrote:
>
> The abs function takes a 32-bit int, which can cause truncation. Fixes
> compilation error:
>
> error: absolute value function 'abs' given an argu>
> if ((sec < 0) || (abs(cur.tv_sec - tv.tv_sec) > MAX_TIME_OFFSET)) {
Ping. This is still not applied.
>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
>  nmea.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/nmea.c b/nmea.c
> index 8df7792..1204c20 100644
> --- a/nmea.c
> +++ b/nmea.c
> @@ -107,7 +107,7 @@ nmea_rmc_cb(void)
>
>                         gettimeofday(&cur, NULL);
>
> -                       if ((sec < 0) || (abs(cur.tv_sec - sec) > MAX_TIME_OFFSET)) {
> +                       if ((sec < 0) || (llabs(cur.tv_sec - sec) > MAX_TIME_OFFSET)) {
>                                 struct timeval tv = { 0 };
>                                 tv.tv_sec = sec;
>                                 if (++nmea_bad_time > MAX_BAD_TIME) {
> --
> 2.26.2
>
diff mbox series

Patch

diff --git a/nmea.c b/nmea.c
index 8df7792..1204c20 100644
--- a/nmea.c
+++ b/nmea.c
@@ -107,7 +107,7 @@  nmea_rmc_cb(void)
 
 			gettimeofday(&cur, NULL);
 
-			if ((sec < 0) || (abs(cur.tv_sec - sec) > MAX_TIME_OFFSET)) {
+			if ((sec < 0) || (llabs(cur.tv_sec - sec) > MAX_TIME_OFFSET)) {
 				struct timeval tv = { 0 };
 				tv.tv_sec = sec;
 				if (++nmea_bad_time > MAX_BAD_TIME) {