123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package lz4
- import (
- "bytes"
- "io/ioutil"
- "github.com/pierrec/lz4"
- )
- // lz4.Reader fuzz function
- func Fuzz(data []byte) int {
- // uncompress some data
- d, err := ioutil.ReadAll(lz4.NewReader(bytes.NewReader(data)))
- if err != nil {
- return 0
- }
- // got valid compressed data
- // compress the uncompressed data
- // and compare with the original input
- buf := bytes.NewBuffer(nil)
- zw := lz4.NewWriter(buf)
- n, err := zw.Write(d)
- if err != nil {
- panic(err)
- }
- if n != len(d) {
- panic("short write")
- }
- err = zw.Close()
- if err != nil {
- panic(err)
- }
- // uncompress the newly compressed data
- ud, err := ioutil.ReadAll(lz4.NewReader(buf))
- if err != nil {
- panic(err)
- }
- if bytes.Compare(d, ud) != 0 {
- panic("not equal")
- }
- return 1
- }
|