2022-08-19 16:34:07 +00:00
|
|
|
//go:build gofuzz
|
2019-06-09 07:24:20 +00:00
|
|
|
|
|
|
|
package cid
|
|
|
|
|
|
|
|
func Fuzz(data []byte) int {
|
|
|
|
cid, err := Cast(data)
|
|
|
|
if err != nil {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
_ = cid.Bytes()
|
|
|
|
_ = cid.String()
|
|
|
|
p := cid.Prefix()
|
|
|
|
_ = p.Bytes()
|
|
|
|
|
|
|
|
if !cid.Equals(cid) {
|
|
|
|
panic("inequality")
|
|
|
|
}
|
|
|
|
|
|
|
|
// json loop
|
|
|
|
json, err := cid.MarshalJSON()
|
|
|
|
if err != nil {
|
|
|
|
panic(err.Error())
|
|
|
|
}
|
|
|
|
cid2 := Cid{}
|
|
|
|
err = cid2.UnmarshalJSON(json)
|
|
|
|
if err != nil {
|
|
|
|
panic(err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
if !cid.Equals(cid2) {
|
|
|
|
panic("json loop not equal")
|
|
|
|
}
|
|
|
|
|
|
|
|
return 1
|
|
|
|
}
|