I added a basic fuzzing harness to support fuzzing the decoder with cargo fuzz. After a small fuzzing run this uncovered another issue in the new decoder of v14. Similar to the issue with the dynamic tuples (see #203), there is an issue with dynamic arrays size leading to an out-of-bounds access, which causes rust to panic. The fix is quite the same as for the tuple issue.
Currently the current fuzzing harness uses a fixed ABI (res/big.abi), which contains a bunch of ABI definitions and parameters. In the future it might make sense to also generate the ABI at random (e.g., using the arbitrary crate).
I added a basic fuzzing harness to support fuzzing the decoder with
cargo fuzz
. After a small fuzzing run this uncovered another issue in the new decoder of v14. Similar to the issue with the dynamic tuples (see #203), there is an issue with dynamic arrays size leading to an out-of-bounds access, which causes rust to panic. The fix is quite the same as for the tuple issue.Currently the current fuzzing harness uses a fixed ABI (
res/big.abi
), which contains a bunch of ABI definitions and parameters. In the future it might make sense to also generate the ABI at random (e.g., using the arbitrary crate).