This is the mail archive of the
newlib-cvs@sourceware.org
mailing list for the newlib project.
[newlib-cygwin] Remove harmful casts in gmtime_r()
- From: Sebastian Huber <sh at sourceware dot org>
- To: newlib-cvs at sourceware dot org
- Date: 7 Sep 2017 13:40:40 -0000
- Subject: [newlib-cygwin] Remove harmful casts in gmtime_r()
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=ad45b86533a47ae33ec99cebc61aee96b57e17a5
commit ad45b86533a47ae33ec99cebc61aee96b57e17a5
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Thu Sep 7 15:01:47 2017 +0200
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 <sebastian.huber@embedded-brains.de>
Diff:
---
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 81c7c94..6475df3 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;