status-go/vendor/github.com/libp2p/go-msgio/fuzz.go

24 lines
535 B
Go
Raw Permalink Normal View History

2022-04-01 16:16:46 +00:00
//go:build gofuzz
package msgio
import "bytes"
// get the go-fuzz tools and build a fuzzer
// $ go get -u github.com/dvyukov/go-fuzz/...
// $ go-fuzz-build github.com/libp2p/go-msgio
// put a corpus of random (even better if actual, structured) data in a corpus directry
// $ go-fuzz -bin ./msgio-fuzz -corpus corpus -workdir=wdir -timeout=15
func Fuzz(data []byte) int {
rc := NewReader(bytes.NewReader(data))
// rc := NewVarintReader(bytes.NewReader(data))
if _, err := rc.ReadMsg(); err != nil {
return 0
}
return 1
}