summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-07 15:01:47 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-07 15:39:34 +0200
commitad45b86533a47ae33ec99cebc61aee96b57e17a5 (patch)
tree615aa64ce907ed8a554353ff1d3fbf04666f2d2f
parentf9205f1d470ed1a214b841b6d2fd60fea14954cb (diff)
downloadcygnal-ad45b86533a47ae33ec99cebc61aee96b57e17a5.tar.gz
cygnal-ad45b86533a47ae33ec99cebc61aee96b57e17a5.tar.bz2
cygnal-ad45b86533a47ae33ec99cebc61aee96b57e17a5.zip
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>
-rw-r--r--newlib/libc/time/gmtime_r.c4
1 files 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;