Jan Dubois
b0ba9589d7
Fix findInArray misuse on MappingNodes in equality and contains ( #2645 )
...
recurseNodeObjectEqual and containsObject both used findInArray to
locate keys in a MappingNode's Content array. findInArray steps by 1,
so it matches against both keys (even indices) and values (odd indices).
In recurseNodeObjectEqual, when a null key in the LHS matched a null
value in the RHS at the last position, rhs.Content[indexInRHS+1]
accessed an out-of-bounds index, causing a panic.
In containsObject, a %2 guard prevented the panic but introduced false
negatives: when a null value appeared before the actual null key,
findInArray returned the value's odd index, the guard rejected it, and
the function reported the key as missing.
Both functions now use findKeyInMap, which steps by 2 and compares only
key positions. The %2 guard in containsObject is removed.
Reproducer for the panic (recurseNodeObjectEqual):
echo '? [{~: ~}]
: v1
? [{2: ~}]
: v2' | yq '. += .'
Reproducer for the false negative (containsObject):
printf '? 1\n: ~\n? ~\n: x\n' | yq 'contains({~: "x"})'
Found by OSS-Fuzz via the lima project's FuzzEvaluateExpression target.
https://issues.oss-fuzz.com/issues/383860504
Signed-off-by: Jan Dubois <jan@jandubois.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:30:44 +10:00
Copilot
7d8d3ab902
Replace gopkg.in/op/go-logging.v1 with log/slog ( #2635 )
...
* Initial plan
* Replace gopkg.in/op/go-logging.v1 with log/slog
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/aa9c12f4-21b9-4633-9868-6b56585b247f
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
2026-03-26 20:41:54 +11:00
Mike Farah
6a965bc39a
Bumping golint
2026-03-21 09:25:31 +11:00
Mike Farah
9e0c5fd3c9
Fixing escape charaters again 😢 #2517
2025-11-25 10:17:43 +11:00
Mike Farah
c716d157f2
Fixing parsing of escaped characters in strenv #2506
2025-11-16 09:22:21 +11:00
Mike Farah
3018396ed2
wip: fixing key order
2025-07-22 10:50:52 +10:00
Steven WdV
9c95a9f379
Unify reconstructAliasedMap & fixedReconstructAliasedMap
2025-07-20 14:59:17 +02:00
Mike Farah
23a7b173bf
Fixing merge anchor key order
2025-07-19 15:27:44 +10:00
Mike Farah
0b7d4b799c
Fixed CSV content starting with # issue #2076
2024-06-29 15:04:07 +10:00
Mike Farah
68aafb6a53
Handle numbers with underscores #2039
2024-06-16 11:09:52 +10:00
Mike Farah
9e9cb65ec0
Fixed CSV line break issue #1974
2024-03-12 10:22:35 +11:00
Mike Farah
e092329bf3
String interpolation! #1149
2024-03-05 14:10:12 +11:00
Mike Farah
72a78472af
Added tostring #72
2024-03-05 10:40:55 +11:00
Mike Farah
010750daf6
Updated to latest golint
2024-01-11 13:17:34 +11:00
Mike Farah
4cf123fed5
Fixed to_entries[]
2023-12-12 15:44:34 +11:00
Mike Farah
13d1bbb45f
Generic ast ( #1829 )
...
Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
2023-10-18 12:11:53 +11:00
Mike Farah
d113344abf
Added tonumber support #71
2023-10-05 15:15:01 +11:00
Mike Farah
ee900ec997
Added kind operator
2023-10-02 14:43:12 +11:00
TJ Miller
a466821e8f
Added divide and modulo operators ( #1593 )
...
* Added divide operator (#49 )
* Tidy up divide operator logic
* Added modulo operator
* Fix divide test typo
* Add divide by zero test
* Handle int modulo by 0 and add tests
* Tidy up divide/modulo operator node creation
* Fix linter errors
2023-03-15 20:14:23 +11:00
Robert Brennan
9539877ff6
Add filter operation ( #1588 )
...
* add filter operation
* add tests
* add tests
* revert debug
* simplify filter
* fix tests
* remove logs
2023-03-09 10:30:47 +11:00
Mike Farah
3f1f66a8ee
Fixed merged anchor reference problem #1482
2023-03-01 13:45:35 +11:00
Mike Farah
62d167c141
Variable loop - Fixes #1566 ( #1577 )
...
* Variable loop wip
* Variable loop wip
* Variable loop wip
* Variable loop wip
* Fixed variable operator to work like jq
2023-02-28 16:40:38 +11:00
Mike Farah
d17fd9424e
Added shuffle command #1503
2023-02-11 05:08:20 +11:00
Mike Farah
915ab69922
Added to_unix operator
2023-02-02 12:56:16 +11:00
Mike Farah
75920481b1
Added from_unix operator #1535
2023-02-02 12:42:36 +11:00
Mike Farah
d7da0cca3c
Fixed value operator bug #1515
2023-01-12 15:11:45 +11:00
Mike Farah
f9a8ba91e4
Preparing release
2022-11-28 08:34:58 +11:00
Mike Farah
cb609a1886
Fixed bad line entry for #1422
2022-11-15 11:35:31 +11:00
Mike Farah
04847502bf
Can use expressions in slice #1419
2022-11-10 18:03:18 +11:00
Jingyu
91b3fb2af3
fix lib.go handled error ( #1418 )
2022-11-09 21:36:53 +11:00
Mike Farah
bd5e5dc965
Array to map operator for #1415
2022-11-08 13:40:00 +11:00
Mike Farah
c887042a1b
Fixing null csv bug #1404
2022-10-30 22:02:08 +11:00
Mike Farah
d99614f55a
Slice array ( #1403 )
2022-10-29 18:15:21 +11:00
Mike Farah
880397d549
Refactored decoder responsibilities ( #1402 )
...
- improved comment handling
- yaml decoder now responsible for leading content work around
2022-10-28 14:16:46 +11:00
Mike Farah
24bbffd71e
xml prefs should be part of API
2022-10-25 14:27:16 +11:00
Mike Farah
6d6b693fb3
Added XML processing instructions and directive support ( #1396 )
2022-10-24 10:09:42 +11:00
Mike Farah
b5b81abb90
Added DELPATHS operator
2022-10-05 20:09:53 +11:00
Mike Farah
da3f3b93b4
Added SETPATH operator
2022-10-05 14:12:08 +11:00
Mike Farah
55a7fdfd8a
Added is_key operator
2022-09-30 10:27:35 +10:00
Mike Farah
b1a40a9fb7
Bumped go compiler; bumped quality tools
2022-08-29 14:13:15 +10:00
Mike Farah
a696dceea4
Added string trim operator
2022-08-08 13:35:57 +10:00
Mike Farah
c8815f5ab9
Csv decoder ( #1290 )
...
* WIP: adding CSV decoder
* Adding CSV decoder
* Added CSV roundtrip
* Fixing from review
2022-08-01 10:28:34 +10:00
Mike Farah
b9a1ef89fe
Added NDJSON decoder ( #1281 )
2022-07-27 12:26:22 +10:00
Mike Farah
03ba38eaff
Using new lexer by alecthomas! ( #1270 )
2022-07-13 14:45:28 +10:00
Mike Farah
86c2b03630
Added error operator for custom validation #1259
2022-06-25 12:46:24 +10:00
Mike Farah
be05df03b5
Fixing usage of quoted numeric keys #1247
2022-06-23 19:22:11 +10:00
rndmit
b9309a42a4
XML decoder additions ( #1239 )
...
* Add xml-keep-namespace and xml-raw-token features
* Add tests
* Change flags usage strings
* Append docs
2022-06-15 09:40:31 +10:00
Mike Farah
fbe49c3700
Added colors to json output #1208
2022-05-22 21:19:59 +10:00
Mike Farah
72cdde78f6
Fixing issues found by codeql
2022-05-06 13:46:14 +10:00
Mike Farah
bbeae229ca
Disable strict XML parsing by default #1155
2022-03-28 14:05:10 +11:00