github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/core/vm/runtime/fuzz.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:36</date> 10 //</624450083189952512> 11 12 13 //+构建GouuZZ 14 15 package runtime 16 17 //引信是Go-Fuzz工具的基本切入点 18 // 19 //对于有效的可分析/不可运行代码,返回1,0 20 //对于无效的操作码。 21 func Fuzz(input []byte) int { 22 _, _, err := Execute(input, input, &Config{ 23 GasLimit: 3000000, 24 }) 25 26 //无效操作码 27 if err != nil && len(err.Error()) > 6 && string(err.Error()[:7]) == "invalid" { 28 return 0 29 } 30 31 return 1 32 } 33