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