diff options
Diffstat (limited to 'package/utils/busybox/patches/003-upstream_date_fix.patch')
-rw-r--r-- | package/utils/busybox/patches/003-upstream_date_fix.patch | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/package/utils/busybox/patches/003-upstream_date_fix.patch b/package/utils/busybox/patches/003-upstream_date_fix.patch deleted file mode 100644 index 5b389c4..0000000 --- a/package/utils/busybox/patches/003-upstream_date_fix.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/libbb/time.c -+++ b/libbb/time.c -@@ -68,15 +68,23 @@ void FAST_FUNC parse_datestr(const char - /* else end != NUL and we error out */ - } - } else -- /* yyyy-mm-dd HH */ -- if (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year, -+ if (strchr(date_str, '-') -+ /* Why strchr('-') check? -+ * sscanf below will trash ptm->tm_year, this breaks -+ * if parse_str is "10101010" (iow, "MMddhhmm" form) -+ * because we destroy year. Do these sscanf -+ * only if we saw a dash in parse_str. -+ */ -+ /* yyyy-mm-dd HH */ -+ && (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year, - &ptm->tm_mon, &ptm->tm_mday, - &ptm->tm_hour, - &end) >= 4 -- /* yyyy-mm-dd */ -- || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year, -+ /* yyyy-mm-dd */ -+ || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year, - &ptm->tm_mon, &ptm->tm_mday, - &end) >= 3 -+ ) - ) { - ptm->tm_year -= 1900; /* Adjust years */ - ptm->tm_mon -= 1; /* Adjust month from 1-12 to 0-11 */ |