1// +build gofuzz,compress 2 3package huff0 4 5import "bytes" 6 7func Fuzz(data []byte) int { 8 comp, _, err := Compress1X(data, nil) 9 if err == ErrIncompressible || err == ErrUseRLE || err == ErrTooBig { 10 return 0 11 } 12 if err != nil { 13 panic(err) 14 } 15 s, remain, err := ReadTable(comp, nil) 16 if err != nil { 17 panic(err) 18 } 19 out, err := s.Decompress1X(remain) 20 if err != nil { 21 panic(err) 22 } 23 if !bytes.Equal(out, data) { 24 panic("decompression mismatch") 25 } 26 return 1 27} 28