mirror of https://github.com/ethereum/go-ethereum
core/vm, crypto: support for go-fuzz (#3672)
parent
94334c233e
commit
4ac481b45f
@ -0,0 +1,20 @@ |
||||
// +build gofuzz
|
||||
|
||||
package runtime |
||||
|
||||
// Fuzz is the basic entry point for the go-fuzz tool
|
||||
//
|
||||
// This returns 1 for valid parsable/runable code, 0
|
||||
// for invalid opcode.
|
||||
func Fuzz(input []byte) int { |
||||
_, _, err := Execute(input, input, &Config{ |
||||
GasLimit: 3000000, |
||||
}) |
||||
|
||||
// invalid opcode
|
||||
if err != nil && len(err.Error()) > 6 && string(err.Error()[:7]) == "invalid" { |
||||
return 0 |
||||
} |
||||
|
||||
return 1 |
||||
} |
Loading…
Reference in new issue