strftime/1: fix validation of non-string argument with number input
There was a incorrect else, that caused jq to not ensure that the argument to strftime/1 is a string when the input is a number; this ends up calling jv_string_value on a non-string value, which does not work, and causes an assert failure. Also fix same bug in strflocaltime/1. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=67403
This commit is contained in:
1 parent
6f67bae60b
commit
1411ce63d5
2 files changed
+13
-4
No files matched your search
@@ -1585,6 +1585,15 @@ try mktime catch .
|
||||
["a",1,2,3,4,5,6,7]
|
||||
"mktime requires parsed datetime inputs"
|
||||
|
||||
# oss-fuzz #67403: non-string argument with number input fails assert
|
||||
try ["OK", strftime([])] catch ["KO", .]
|
||||
0
|
||||
["KO","strftime/1 requires a string format"]
|
||||
|
||||
try ["OK", strflocaltime({})] catch ["KO", .]
|
||||
0
|
||||
["KO","strflocaltime/1 requires a string format"]
|
||||
|
||||
# module system
|
||||
import "a" as foo; import "b" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]
|
||||
null
|
||||
|
||||
Reference in new issue
Block a user