prevent all uses of YAML aliases from being overwritten by a transformer (#5096)

* return copied Node

* add a test case about imageTagTransformer for anchor scenario

* add TestPatchTransformerAnchor

* TestReplacementTransformerAnchor
This commit is contained in:
Yutaro
2023-04-01 08:07:50 +09:00
committed by GitHub
parent 3b395a9da2
commit 42bf3c0e2b
4 changed files with 164 additions and 1 deletions

View File

@@ -1007,7 +1007,11 @@ func deAnchor(yn *yaml.Node) (res *yaml.Node, err error) {
case yaml.ScalarNode:
return yn, nil
case yaml.AliasNode:
return deAnchor(yn.Alias)
result, err := deAnchor(yn.Alias)
if err != nil {
return nil, err
}
return CopyYNode(result), nil
case yaml.MappingNode:
toMerge, err := removeMergeTags(yn)
if err != nil {