aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0001-libbb-fix-time-parsing-of-CC-YY-MMDDhhmm-.SS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/busybox/0001-libbb-fix-time-parsing-of-CC-YY-MMDDhhmm-.SS.patch')
-rw-r--r--main/busybox/0001-libbb-fix-time-parsing-of-CC-YY-MMDDhhmm-.SS.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/main/busybox/0001-libbb-fix-time-parsing-of-CC-YY-MMDDhhmm-.SS.patch b/main/busybox/0001-libbb-fix-time-parsing-of-CC-YY-MMDDhhmm-.SS.patch
new file mode 100644
index 0000000000..9bd5075454
--- /dev/null
+++ b/main/busybox/0001-libbb-fix-time-parsing-of-CC-YY-MMDDhhmm-.SS.patch
@@ -0,0 +1,40 @@
+From 1a3d9fb9074dc746326e6fa98c3eb499f6a6e048 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 19 May 2016 16:17:32 +0200
+Subject: [PATCH] libbb: fix time parsing of [[CC]YY]MMDDhhmm[.SS]
+
+If SS is not given a value, it is assumed to be zero.
+http://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html
+
+closes 8951
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ libbb/time.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libbb/time.c b/libbb/time.c
+index aa19a47..44dd4aa 100644
+--- a/libbb/time.c
++++ b/libbb/time.c
+@@ -159,6 +159,8 @@ void FAST_FUNC parse_datestr(const char *date_str, struct tm *ptm)
+ &ptm->tm_hour,
+ &ptm->tm_min,
+ &end) >= 5) {
++ /* assume zero if [.SS] is not given */
++ ptm->tm_sec = 0;
+ /* Adjust month from 1-12 to 0-11 */
+ ptm->tm_mon -= 1;
+ if ((int)cur_year >= 50) { /* >= 1950 */
+@@ -181,6 +183,8 @@ void FAST_FUNC parse_datestr(const char *date_str, struct tm *ptm)
+ &ptm->tm_hour,
+ &ptm->tm_min,
+ &end) >= 5) {
++ /* assume zero if [.SS] is not given */
++ ptm->tm_sec = 0;
+ ptm->tm_year -= 1900; /* Adjust years */
+ ptm->tm_mon -= 1; /* Adjust month from 1-12 to 0-11 */
+ } else {
+--
+2.8.2
+