diff options
| author | Sandro Jäckel <sandro.jaeckel@sap.com> | 2022-04-01 14:08:42 +0200 |
|---|---|---|
| committer | Sandro Jäckel <sandro.jaeckel@sap.com> | 2022-04-01 14:09:09 +0200 |
| commit | d35e5fb09bfac1fa381e4ed004ea24a6025e36f4 (patch) | |
| tree | e47874ed2c6830abf4c84e9068bc187fb041b6b4 /vendor/gopkg.in/yaml.v2/decode.go | |
| parent | cb398f58a5cb4f3e858fe60e84debde6ab58f7c8 (diff) | |
| download | gofu-d35e5fb09bfac1fa381e4ed004ea24a6025e36f4.tar.gz | |
Bump to go 1.17 and update all dependencies
Diffstat (limited to 'vendor/gopkg.in/yaml.v2/decode.go')
| -rw-r--r-- | vendor/gopkg.in/yaml.v2/decode.go | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/vendor/gopkg.in/yaml.v2/decode.go b/vendor/gopkg.in/yaml.v2/decode.go index 5310876..129bc2a 100644 --- a/vendor/gopkg.in/yaml.v2/decode.go +++ b/vendor/gopkg.in/yaml.v2/decode.go @@ -319,10 +319,14 @@ func (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unm } const ( - // 400,000 decode operations is ~500kb of dense object declarations, or ~5kb of dense object declarations with 10000% alias expansion + // 400,000 decode operations is ~500kb of dense object declarations, or + // ~5kb of dense object declarations with 10000% alias expansion alias_ratio_range_low = 400000 - // 4,000,000 decode operations is ~5MB of dense object declarations, or ~4.5MB of dense object declarations with 10% alias expansion + + // 4,000,000 decode operations is ~5MB of dense object declarations, or + // ~4.5MB of dense object declarations with 10% alias expansion alias_ratio_range_high = 4000000 + // alias_ratio_range is the range over which we scale allowed alias ratios alias_ratio_range = float64(alias_ratio_range_high - alias_ratio_range_low) ) @@ -784,8 +788,7 @@ func (d *decoder) merge(n *node, out reflect.Value) { case mappingNode: d.unmarshal(n, out) case aliasNode: - an, ok := d.doc.anchors[n.value] - if ok && an.kind != mappingNode { + if n.alias != nil && n.alias.kind != mappingNode { failWantMap() } d.unmarshal(n, out) @@ -794,8 +797,7 @@ func (d *decoder) merge(n *node, out reflect.Value) { for i := len(n.children) - 1; i >= 0; i-- { ni := n.children[i] if ni.kind == aliasNode { - an, ok := d.doc.anchors[ni.value] - if ok && an.kind != mappingNode { + if ni.alias != nil && ni.alias.kind != mappingNode { failWantMap() } } else if ni.kind != mappingNode { |
