diff options
Diffstat (limited to 'toolchain/musl/patches/065-fix-integer-overflow-of-tm_year-in-__secs_to_tm.patch')
-rw-r--r-- | toolchain/musl/patches/065-fix-integer-overflow-of-tm_year-in-__secs_to_tm.patch | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/toolchain/musl/patches/065-fix-integer-overflow-of-tm_year-in-__secs_to_tm.patch b/toolchain/musl/patches/065-fix-integer-overflow-of-tm_year-in-__secs_to_tm.patch deleted file mode 100644 index 6db6fd8..0000000 --- a/toolchain/musl/patches/065-fix-integer-overflow-of-tm_year-in-__secs_to_tm.patch +++ /dev/null @@ -1,39 +0,0 @@ -From bc1e7731cee963e422575f81048792f4d5db9641 Mon Sep 17 00:00:00 2001 -From: Daniel Sabogal <dsabogal@ufl.edu> -Date: Wed, 2 Nov 2016 22:29:36 -0400 -Subject: fix integer overflow of tm_year in __secs_to_tm - -the overflow check for years+100 did not account for the extra -year computed from the remaining months. instead, perform this -check after obtaining the final number of years. ---- - src/time/__secs_to_tm.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/src/time/__secs_to_tm.c b/src/time/__secs_to_tm.c -index 3a3123a..093d902 100644 ---- a/src/time/__secs_to_tm.c -+++ b/src/time/__secs_to_tm.c -@@ -60,15 +60,16 @@ int __secs_to_tm(long long t, struct tm *tm) - for (months=0; days_in_month[months] <= remdays; months++) - remdays -= days_in_month[months]; - -+ if (months >= 10) { -+ months -= 12; -+ years++; -+ } -+ - if (years+100 > INT_MAX || years+100 < INT_MIN) - return -1; - - tm->tm_year = years + 100; - tm->tm_mon = months + 2; -- if (tm->tm_mon >= 12) { -- tm->tm_mon -=12; -- tm->tm_year++; -- } - tm->tm_mday = remdays + 1; - tm->tm_wday = wday; - tm->tm_yday = yday; --- -cgit v0.11.2 |