summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritchyny <itchyny@hatena.ne.jp>2020-05-13 12:09:53 +0900
committerWilliam Langford <wlangfor@gmail.com>2020-05-26 12:29:34 -0400
commit15fa1dec99f2a709dd6c3ee9791af4a9f72b4a83 (patch)
tree83070d1a9ac4fdcb5648a888d7f0e77362b6ec48
parentccc79e592cfe1172db5f2def5a24c2f7cfd418bf (diff)
Fix error handling in strftime
-rw-r--r--src/builtin.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/builtin.c b/src/builtin.c
index 25af2864..8533d7e6 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -1532,6 +1532,10 @@ static jv f_localtime(jq_state *jq, jv a) {
static jv f_strftime(jq_state *jq, jv a, jv b) {
if (jv_get_kind(a) == JV_KIND_NUMBER) {
a = f_gmtime(jq, a);
+ if (!jv_is_valid(a)) {
+ jv_free(b);
+ return a;
+ }
} else if (jv_get_kind(a) != JV_KIND_ARRAY) {
return ret_error2(a, b, jv_string("strftime/1 requires parsed datetime inputs"));
} else if (jv_get_kind(b) != JV_KIND_STRING) {