From ad45b86533a47ae33ec99cebc61aee96b57e17a5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 7 Sep 2017 15:01:47 +0200 Subject: [PATCH] Remove harmful casts in gmtime_r() In case time_t is long, then the cast to long is a nop. In case time_t is __int_least64_t, then the cast to long may truncate the value before the division. Signed-off-by: Sebastian Huber --- newlib/libc/time/gmtime_r.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/newlib/libc/time/gmtime_r.c b/newlib/libc/time/gmtime_r.c index 81c7c94b1..6475df3ba 100644 --- a/newlib/libc/time/gmtime_r.c +++ b/newlib/libc/time/gmtime_r.c @@ -56,8 +56,8 @@ _DEFUN (gmtime_r, (tim_p, res), unsigned erayear, yearday, month, day; unsigned long eraday; - days = ((long)lcltime) / SECSPERDAY + EPOCH_ADJUSTMENT_DAYS; - rem = ((long)lcltime) % SECSPERDAY; + days = lcltime / SECSPERDAY + EPOCH_ADJUSTMENT_DAYS; + rem = lcltime % SECSPERDAY; if (rem < 0) { rem += SECSPERDAY;