I'm doing fuzzing on EVM implementations, and I'm using besu/evm-tool for testing. I found a log error that when executing the opcode REVERT(0XFD), the getRevertReason() of besu/evm-tool will return a long null string in the error field of json when no revert reason is available, such as \u0000\u0000.
Steps to Reproduce
I try to reproduce this on the latest develop version of besu/evm-tool(6ed1db32ae3c1b5bdc0576321fee35157feb6ae4). I build evmtool with:
Description
Hello developers!
I'm doing fuzzing on EVM implementations, and I'm using
besu/evm-tool
for testing. I found a log error that when executing the opcode REVERT(0XFD), thegetRevertReason()
ofbesu/evm-tool
will return a long null string in theerror
field of json when no revert reason is available, such as\u0000\u0000
.Steps to Reproduce
besu/evm-tool
(6ed1db32ae3c1b5bdc0576321fee35157feb6ae4). I buildevmtool
with:Expected behavior: If no Revert reason is available, no
error
field is needed.Actual behavior:
evmtool
will output meaningless\u0000
s.Frequency: Always.
Logs (if a bug)
This is a reference result from
geth/evm
:Versions (Add all that apply)
Thanks for your time!