Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7d096c2

Browse files
authored
fix(yaml): add encoding.Text(Un)marshaler to the interface whitelist (#119)
1 parent 46b7fb5 commit 7d096c2

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

‎builtins.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ var builtins = []Func{
1919
{"(*encoding/xml.Decoder).DecodeElement", "xml", 0, []string{"encoding/xml.Unmarshaler", "encoding.TextUnmarshaler"}},
2020

2121
// https://pkg.go.dev/gopkg.in/yaml.v3
22-
{"gopkg.in/yaml.v3.Marshal", "yaml", 0, []string{"gopkg.in/yaml.v3.Marshaler"}},
23-
{"gopkg.in/yaml.v3.Unmarshal", "yaml", 1, []string{"gopkg.in/yaml.v3.Unmarshaler"}},
24-
{"(*gopkg.in/yaml.v3.Encoder).Encode", "yaml", 0, []string{"gopkg.in/yaml.v3.Marshaler"}},
25-
{"(*gopkg.in/yaml.v3.Decoder).Decode", "yaml", 0, []string{"gopkg.in/yaml.v3.Unmarshaler"}},
22+
{"gopkg.in/yaml.v3.Marshal", "yaml", 0, []string{"gopkg.in/yaml.v3.Marshaler", "encoding.TextMarshaler"}},
23+
{"gopkg.in/yaml.v3.Unmarshal", "yaml", 1, []string{"gopkg.in/yaml.v3.Unmarshaler", "encoding.TextUnmarshaler"}},
24+
{"(*gopkg.in/yaml.v3.Encoder).Encode", "yaml", 0, []string{"gopkg.in/yaml.v3.Marshaler", "encoding.TextMarshaler"}},
25+
{"(*gopkg.in/yaml.v3.Decoder).Decode", "yaml", 0, []string{"gopkg.in/yaml.v3.Unmarshaler", "encoding.TextUnmarshaler"}},
2626

2727
// https://pkg.go.dev/github.com/BurntSushi/toml
2828
{"github.com/BurntSushi/toml.Unmarshal", "toml", 1, []string{"github.com/BurntSushi/toml.Unmarshaler", "encoding.TextUnmarshaler"}},

‎testdata/src/tests/builtins.go‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ func testYAML() {
9696
yaml.Unmarshal(nil, &m)
9797
yaml.NewEncoder(nil).Encode(m)
9898
yaml.NewDecoder(nil).Decode(&m)
99+
100+
var tm TextMarshaler
101+
yaml.Marshal(tm)
102+
yaml.Unmarshal(nil, &tm)
103+
yaml.NewEncoder(nil).Encode(tm)
104+
yaml.NewDecoder(nil).Decode(&tm)
99105
}
100106

101107
func testTOML() {

0 commit comments

Comments
 (0)