diff options
Diffstat (limited to 'src/encoding/xml/read_test.go')
| -rw-r--r-- | src/encoding/xml/read_test.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/encoding/xml/read_test.go b/src/encoding/xml/read_test.go index 42059db3ae..58d1eddb61 100644 --- a/src/encoding/xml/read_test.go +++ b/src/encoding/xml/read_test.go @@ -9,6 +9,7 @@ import ( "errors" "io" "reflect" + "runtime" "strings" "testing" "time" @@ -1109,3 +1110,19 @@ func TestCVE202228131(t *testing.T) { t.Fatalf("Unmarshal unexpected error: got %q, want %q", err, errExeceededMaxUnmarshalDepth) } } + +func TestCVE202230633(t *testing.T) { + if runtime.GOARCH == "wasm" { + t.Skip("causes memory exhaustion on js/wasm") + } + defer func() { + p := recover() + if p != nil { + t.Fatal("Unmarshal panicked") + } + }() + var example struct { + Things []string + } + Unmarshal(bytes.Repeat([]byte("<a>"), 17_000_000), &example) +} |
