diff --git a/fuzz.go b/fuzz.go new file mode 100644 index 0000000..7220281 --- /dev/null +++ b/fuzz.go @@ -0,0 +1,27 @@ +// go:build gofuzz +//go:build gofuzz +// +build gofuzz + +package sftp + +import ( + "bytes" + "context" +) + +type sinkfuzz struct{} + +func (*sinkfuzz) Close() error { return nil } +func (*sinkfuzz) Write(p []byte) (int, error) { return len(p), nil } + +var devnull = &sinkfuzz{} + +// To run: go-fuzz-build && go-fuzz +func Fuzz(data []byte) int { + c, err := NewClientPipe(context.Background(), bytes.NewReader(data), devnull) + if err != nil { + return 0 + } + c.Close() + return 1 +}