From f16bea62a18fc76fba2ce6667ac41515e85c2d99 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Sun, 18 Aug 2019 16:51:20 +1000 Subject: [PATCH] metainfo: Add fuzzing func --- metainfo/fuzz.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 metainfo/fuzz.go diff --git a/metainfo/fuzz.go b/metainfo/fuzz.go new file mode 100644 index 00000000..60ece520 --- /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 +} -- 2.44.0