metainfo/fuzz.go | 28 ++++++++++++++++++++++++++++ diff --git a/metainfo/fuzz.go b/metainfo/fuzz.go new file mode 100644 index 0000000000000000000000000000000000000000..60ece520d0ecbae4245f2214d1650f5c62c5d7b7 --- /dev/null +++ b/metainfo/fuzz.go @@ -0,0 +1,28 @@ +// +build gofuzz + +package metainfo + +import ( + "github.com/anacrolix/torrent/bencode" +) + +func Fuzz(b []byte) int { + var mi MetaInfo + err := bencode.Unmarshal(b, &mi) + if err != nil { + return 0 + } + _, err = bencode.Marshal(mi) + if err != nil { + panic(err) + } + info, err := mi.UnmarshalInfo() + if err != nil { + return 0 + } + _, err = bencode.Marshal(info) + if err != nil { + panic(err) + } + return 1 +}