From bc9510eefc1e81b47b4a57a2ace8da2dbdc4741e Mon Sep 17 00:00:00 2001 From: Bhargava Shastry Date: Thu, 10 Jun 2021 12:46:39 +0200 Subject: [PATCH] Fuzz not only successful calls but those with other status codes. --- test/tools/ossfuzz/BytecodeOptimizerFuzzer.cpp | 16 ++++++++-------- test/tools/ossfuzz/solc_ossfuzz.cpp | 14 +++++++------- test/tools/ossfuzz/solc_reverse_ossfuzz.cpp | 16 ++++++++-------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/test/tools/ossfuzz/BytecodeOptimizerFuzzer.cpp b/test/tools/ossfuzz/BytecodeOptimizerFuzzer.cpp index 3fe155a6e..a257fdcbb 100644 --- a/test/tools/ossfuzz/BytecodeOptimizerFuzzer.cpp +++ b/test/tools/ossfuzz/BytecodeOptimizerFuzzer.cpp @@ -169,12 +169,12 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size) deployResult.create_address ); - if (callResult.status_code != EVMC_SUCCESS) { - cout << "Unoptimised old code gen call failed with status code: " - << callResult.status_code - << endl; - return 0; - } +// if (callResult.status_code != EVMC_SUCCESS) { +// cout << "Unoptimised old code gen call failed with status code: " +// << callResult.status_code +// << endl; +// return 0; +// } solidity::bytes result; for (size_t i = 0; i < callResult.output_size; i++) @@ -237,8 +237,8 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size) deployResultOpt.create_address ); solAssert( - callResultOpt.status_code == EVMC_SUCCESS, - "Optimised code gen contract call failed." + callResultOpt.status_code == callResult.status_code, + "Optimised code gen contract call failed with a different status code." ); solidity::bytes resultOpt; diff --git a/test/tools/ossfuzz/solc_ossfuzz.cpp b/test/tools/ossfuzz/solc_ossfuzz.cpp index 690688f39..8c44a9a3c 100644 --- a/test/tools/ossfuzz/solc_ossfuzz.cpp +++ b/test/tools/ossfuzz/solc_ossfuzz.cpp @@ -169,12 +169,12 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size) deployResult.create_address ); - if (callResult.status_code != EVMC_SUCCESS) { - cout << "Old code gen call failed with status code: " - << callResult.status_code - << endl; - return 0; - } +// if (callResult.status_code != EVMC_SUCCESS) { +// cout << "Old code gen call failed with status code: " +// << callResult.status_code +// << endl; +// return 0; +// } solidity::bytes result; for (size_t i = 0; i < callResult.output_size; i++) @@ -238,7 +238,7 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size) solidity::util::fromHex(encodedDataIR), deployResultOpt.create_address ); - solAssert(callResultOpt.status_code == EVMC_SUCCESS, "New code gen contract call failed."); + solAssert(callResultOpt.status_code == callResult.status_code, "New code gen contract call failed with a different status code."); solidity::bytes resultOpt; for (size_t i = 0; i < callResultOpt.output_size; i++) diff --git a/test/tools/ossfuzz/solc_reverse_ossfuzz.cpp b/test/tools/ossfuzz/solc_reverse_ossfuzz.cpp index 36013ad1b..99c3f15c7 100644 --- a/test/tools/ossfuzz/solc_reverse_ossfuzz.cpp +++ b/test/tools/ossfuzz/solc_reverse_ossfuzz.cpp @@ -169,12 +169,12 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size) deployResult.create_address ); - if (callResult.status_code != EVMC_SUCCESS) { - cout << "New code gen call failed with status code: " - << callResult.status_code - << endl; - return 0; - } +// if (callResult.status_code != EVMC_SUCCESS) { +// cout << "New code gen call failed with status code: " +// << callResult.status_code +// << endl; +// return 0; +// } solidity::bytes result; for (size_t i = 0; i < callResult.output_size; i++) @@ -241,8 +241,8 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size) deployResultOpt.create_address ); solAssert( - callResultOpt.status_code == EVMC_SUCCESS, - "Old code gen contract call failed." + callResultOpt.status_code == callResult.status_code, + "Old code gen contract call failed with a different status code." ); solidity::bytes resultOpt;