diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-04-14 14:16:53 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-04-14 14:16:53 +0300 |
commit | 613c6ddd082a0b241a59260927929cc65ae61f9b (patch) | |
tree | 208e42e659710c2ff4ed2bd29212922b343ab26e /builtin.c | |
parent | 1806544b56f2f5e1c76addc85f18aaa75066f497 (diff) | |
parent | d3d01be8a74e50ec3cb58ba9acd99f08ade5a606 (diff) | |
download | egawk-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.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -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); } |