Commit Graph

6101 Commits

Author SHA1 Message Date
Bhargava Shastry
bc9510eefc Fuzz not only successful calls but those with other status codes. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
5f202cedea Add custom mutation to solc reverse and bytecode optimizer fuzzers. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
f5db0d0c82 Patch exec framework from develop 2021-06-14 13:27:17 +02:00
Bhargava Shastry
3a837aeed6 CMake update 2021-06-14 13:27:17 +02:00
Bhargava Shastry
d5364e43ea Add New->Old code gen comparator fuzzer 2021-06-14 13:27:17 +02:00
Bhargava Shastry
68f5632ddd Update bytecode optimiser fuzzer 2021-06-14 13:27:17 +02:00
Bhargava Shastry
0c57fbb275 Fix optional access bug for libraries 2021-06-14 13:27:17 +02:00
Bhargava Shastry
c248b91bfa Permit low-level library function calls. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
af94138b53 Reset between runs, redeploying library. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
7b1ade9223 Minor refactoring 2021-06-14 13:27:17 +02:00
Bhargava Shastry
7b64e660c6 Bug fix 2021-06-14 13:27:17 +02:00
Bhargava Shastry
785bfcda99 Add real addresses to encoder 2021-06-14 13:27:17 +02:00
Bhargava Shastry
e400dff607 Change random function selection 2021-06-14 13:27:17 +02:00
Bhargava Shastry
295aef77a4 Add bytecode optimizer fuzzer 2021-06-14 13:27:17 +02:00
Bhargava Shastry
1485374115 Undo msg.value init 2021-06-14 13:27:17 +02:00
Bhargava Shastry
7a16359bae Add 1 eth value to deploy/call 2021-06-14 13:27:17 +02:00
Bhargava Shastry
319b0fb624 Permit partial fuzzing of tests with libraries. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
98a452d0aa Add random value generation. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
08f4a98ea6 Value generator fuzzer 2021-06-14 13:27:17 +02:00
Bhargava Shastry
c8e31e3466 Debug prints 2021-06-14 13:27:17 +02:00
Bhargava Shastry
ee665748aa Refactor contract ABI Utils a bit to get it to build with solc ossfuzz. Untested. 2021-06-14 13:27:17 +02:00
Bhargava Shastry
39fcdf22c3 Fix storage order in evmhost. 2021-06-14 13:27:12 +02:00
Bhargava Shastry
7c572dbfdf Fix bug related to new code gen testing. 2021-06-14 13:27:12 +02:00
Bhargava Shastry
67a4d6f01d Catch compiler errors due to missing source. 2021-06-14 13:27:12 +02:00
Bhargava Shastry
7108b7d465 Remove source updates. 2021-06-14 13:27:12 +02:00
Bhargava Shastry
3ab3eda2c5 Reset compiler stack between runs. 2021-06-14 13:27:12 +02:00
Bhargava Shastry
49cda44699 Initial commit 2021-06-14 13:27:12 +02:00
Daniel Kirchner
284e8a103f Remove potentially non-deterministic test case. 2021-06-09 14:42:16 +02:00
chriseth
e5500b9f20
Merge pull request #11471 from ethereum/funcdef-unimplemented-modifier
Reports an error on unimplemented modifiers in a function definition.
2021-06-09 13:54:05 +02:00
Christian Parpart
a14ac1923d Fixes ICE when overriding an implemented modifier with an unimplemented one. 2021-06-09 13:15:20 +02:00
Kamil Śliwak
362fc6650d Extra tests for shadowing within function parameter lists 2021-06-09 12:37:12 +02:00
a3d4
f59145f21f Fix shadowing struct types by struct member names 2021-06-09 12:37:11 +02:00
a3d4
70b8b1c834 Do not warn about shadowing parameters in functions without implementation 2021-06-09 12:35:26 +02:00
Mathias Baumann
001a25db95 Fix crash in ControlFlowGraph related to free functions. 2021-06-09 11:10:33 +02:00
chriseth
3eaa37030a Fix infinite recursion in function call graph generator due to recursive constant references. 2021-06-08 16:39:30 +02:00
Mathias Baumann
354f9d1015 Fix: Allow multiple @return tags on public state variables 2021-06-07 15:16:46 +02:00
Mathias Baumann
aae9d347aa Split DocStringParsing in two stages
one requiring type info in the next step
2021-06-07 14:49:46 +02:00
chriseth
1f8f1a3db9
Merge pull request #11484 from ethereum/fix-unreachable-code-anaysis
Fix revert pruner modifying function flows wrong
2021-06-04 12:44:35 +02:00
chriseth
8da5d6a854 Update test expectations. 2021-06-04 12:04:04 +02:00
chriseth
a8ffa6c08d
Merge pull request #11482 from ethereum/fixUnreachable2
Fix control-flow handling of modifiers without body.
2021-06-03 16:56:05 +02:00
chriseth
2e3ee4c156 Fix control-flow handling of modifiers without body. 2021-06-03 13:31:15 +02:00
hrkrshnn
c3eef8af91 Fix ICE related to receive function having parameters. 2021-06-03 13:08:57 +02:00
chriseth
a30cf6c3e8
Merge pull request #11480 from ethereum/event-mapping-fatal-error
Errors about nested mapping in event parameter are fatal.
2021-06-03 11:39:26 +02:00
hrkrshnn
2309ae3edd Added tests for internal or recursive types as event / error param
After converting the error about mapping parameter in event / error into a fatal type error, we were
missing tests that reached the "internal or recursive types" error.
2021-06-03 11:02:27 +02:00
hrkrshnn
cc915f023e Errors about nested mapping in event parameter are fatal.
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
chriseth
c55d173a28
Merge pull request #11479 from ethereum/fix-ice-when-assigning-implicitly-convertible-function-array-to-storage
Fix ICE when assigning implicitly convertible function array to storage
2021-06-03 10:52:21 +02:00
chriseth
b00027724a
Merge pull request #11478 from ethereum/fix-ice-when-calling-invalid-external-function-type
Treat invalid external function type as a fatal error
2021-06-03 09:00:38 +02:00
chriseth
93936129f1
Merge pull request #11476 from ethereum/fix-ice-on-library-bound-to-literal
Fix ICE in IR when a library is bound to a literal
2021-06-03 08:58:00 +02:00
Kamil Śliwak
ccf658b0e8 Fix assertion preventing assignment of arrays of implicitly convertible function types 2021-06-03 08:56:02 +02:00
Kamil Śliwak
4a19c7e495 Treat invalid external function type as a fatal error to prevent the type from being used
- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
2021-06-02 21:44:39 +02:00