summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorEmanuele Torre <torreemanuele6@gmail.com>2024-03-15 14:30:03 +0100
committerGitHub <noreply@github.com>2024-03-15 14:30:03 +0100
commit6f67bae60b7d5d1d34438f78acc12266b6dc1f0c (patch)
tree749f86fdae27ccab19c84795564ba1c5cebc78c0 /tests
parentc95b34ff827d05a2d262f00280a4891a295ed0ed (diff)
EACH: fix leak when an error is triggered by non-last element of object
Object keys are strings, so they need to be freed. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66070
Diffstat (limited to 'tests')
-rw-r--r--tests/jq.test5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/jq.test b/tests/jq.test
index 60715f69..c8436f64 100644
--- a/tests/jq.test
+++ b/tests/jq.test
@@ -178,6 +178,11 @@ map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?)
[{"a": [1,2]}, {"a": 123}]
[1,2,1,2,1,2,1,2,"Cannot iterate over number (123)","Cannot iterate over number (123)"]
+# oss-fuzz #66070: objects[] leaks if a non-last element throws an error
+try ["OK", (.[] | error)] catch ["KO", .]
+{"a":["b"],"c":["d"]}
+["KO",["b"]]
+
#
# Negative array indices
#