oss-fuzz/projects/go-snappy/fuzz.go

34 lines
532 B
Go

// +build gofuzz
package snappy
import (
"bytes"
)
func FuzzRoundTrip(data []byte) int {
if len(data) > 1234567 {
return 0
}
encoded := Encode(nil, data)
decoded, err := Decode(nil, encoded)
if err != nil {
panic("Error decoding snappy-encoded")
}
if !bytes.Equal(data, decoded) {
panic("Different result on roundtrip encode/decode")
}
return 1
}
func FuzzDecode(data []byte) int {
if n, _ := DecodedLen(data); n > 1234567 {
return 0
}
_, err := Decode(nil, data)
if err != nil {
return 0
}
return 1
}