1
0
Fork 1
mirror of https://github.com/vbatts/tar-split.git synced 2025-07-08 17:28:29 +00:00
tar-split/tar/asm/fuzz.go
Vincent Batts 8c5af0ccf2
tar/asm: try out a go-fuzz test
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-11 09:32:07 -04:00

38 lines
679 B
Go

// +build gofuzz
package asm
import (
"bytes"
"log"
"github.com/vbatts/tar-split/archive/tar"
"github.com/vbatts/tar-split/tar/storage"
)
func Fuzz(data []byte) int {
sp := storage.NewJSONPacker(bytes.NewBuffer([]byte{}))
fgp := storage.NewBufferFileGetPutter()
tarStream, err := NewInputTarStream(bytes.NewReader(data), sp, fgp)
if err != nil {
if tarStream != nil {
panic("tarStream is != nil on error")
}
log.Println(err)
return 0
}
rdr := tar.NewReader(tarStream)
for {
hdr, err := rdr.Next()
if err != nil {
if hdr != nil {
panic("hdr is != nil on error")
}
log.Println(err)
return 0
}
log.Printf("%v", hdr)
}
return 1
}