aboutsummaryrefslogtreecommitdiffstats
path: root/builtin.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-14 14:16:53 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-14 14:16:53 +0300
commit613c6ddd082a0b241a59260927929cc65ae61f9b (patch)
tree208e42e659710c2ff4ed2bd29212922b343ab26e /builtin.c
parent1806544b56f2f5e1c76addc85f18aaa75066f497 (diff)
parentd3d01be8a74e50ec3cb58ba9acd99f08ade5a606 (diff)
downloadegawk-613c6ddd082a0b241a59260927929cc65ae61f9b.tar.gz
egawk-613c6ddd082a0b241a59260927929cc65ae61f9b.tar.bz2
egawk-613c6ddd082a0b241a59260927929cc65ae61f9b.zip
Merge branch 'master' into feature/wasted-byte
Diffstat (limited to 'builtin.c')
-rw-r--r--builtin.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/builtin.c b/builtin.c
index 73208714..e5753ade 100644
--- a/builtin.c
+++ b/builtin.c
@@ -1921,17 +1921,13 @@ do_strftime(int nargs)
lintwarn(_("strftime: received non-numeric second argument"));
(void) force_number(t2);
clock_val = get_number_si(t2);
+ fclock = (time_t) clock_val;
/*
- * 4/2015: This used to be here:
- *
- * if (clock_val < 0)
- * fatal(_("strftime: second argument less than 0 or too big for time_t"));
- *
- * It is now disabled since some systems have strftime that works
- * on times before the epoch. No arbritrary limits comes into
- * play at this point.
+ * 4/2015: Protect against negative value being assigned
+ * to unsigned time_t.
*/
- fclock = (time_t) clock_val;
+ if (clock_val < 0 && fclock > 0)
+ fatal(_("strftime: second argument less than 0 or too big for time_t"));
DEREF(t2);
}