github.com/Oyster-zx/tendermint@v0.34.24-fork/consensus/wal_fuzz.go (about) 1 //go:build gofuzz 2 // +build gofuzz 3 4 package consensus 5 6 import ( 7 "bytes" 8 "io" 9 ) 10 11 func Fuzz(data []byte) int { 12 dec := NewWALDecoder(bytes.NewReader(data)) 13 for { 14 msg, err := dec.Decode() 15 if err == io.EOF { 16 break 17 } 18 if err != nil { 19 if msg != nil { 20 panic("msg != nil on error") 21 } 22 return 0 23 } 24 var w bytes.Buffer 25 enc := NewWALEncoder(&w) 26 err = enc.Encode(msg) 27 if err != nil { 28 panic(err) 29 } 30 } 31 return 1 32 }