Commit Graph
203 Commits
Author SHA1 Message Date
Bhargava Shastry 3963d0ca02 Create bytes/string values of shorter than 32 bytes and adjust invalid encoding length accordingly 2019-09-02 11:30:38 +02:00
Bhargava Shastry 922790730c Do not create duplicate case statements 2019-08-26 12:44:06 +02:00
Bhargava Shastry 86c981d9fa proto fuzzer: Use a yul optimizer dictionary 2019-08-26 12:44:06 +02:00
chriseth f3f3cac864 Fix for ossfuzz. 2019-08-08 17:35:46 +02:00
chriseth 3dec3af638 Use evmone for testing. 2019-08-08 17:35:44 +02:00
Bhargava Shastry 2f815c5c35 While compiling abiv2 proto generated solidity test program, silently ignore stack too deep errors (exception), throw exception otherwise. 2019-08-06 11:06:09 +02:00
Bhargava Shastry bf16f2f75e Test low level calls with correct and incorrect encodings 2019-08-06 09:43:55 +02:00
Bhargava Shastry e018d62a67 Dynamically sized array dimensions can be zero sized 2019-08-01 16:33:57 +02:00
Bhargava Shastry 90d421352a Add bool type and array of bool and dynamic byte types 2019-07-17 14:24:43 +02:00
Bhargava Shastry 00bca77cca Updated evmc to version tracked by evmone v0.1.0 2019-07-17 14:24:27 +02:00
Christian Parpart 810a0de1aa Add evmc and host interface implementation. Modify fuzzer harness to make use of evmc host/vm. 2019-07-17 10:55:33 +02:00
Bhargava Shastry 5aa571e56f Update fuzzing deps in docker image and ossfuzz CMakeLists.txt 2019-07-16 09:10:02 +02:00
Bhargava Shastry 3b33ff1454 Adjust call to suffixedVariableNameList post refactoring in ABIv2 proto fuzzer and slim down dependencies. 2019-07-09 18:18:40 +02:00
chriseth 859dbaa2a3 Merge pull request #7053 from djudjuu/moveSuffixHelper
move SuffixHelper to StringUtils
2019-07-09 14:32:05 +02:00
djudjuu cafa01cbf6 moved SuffixHelper to StringUtils 2019-07-09 13:50:07 +02:00
Bhargava Shastry 5bc1a68b40 ABIv2 proto fuzzer implementation for a limited set of value and non-value types (arrays included). 2019-07-09 10:50:43 +02:00
Bhargava Shastry b5cbb1a3e9 For loop with custom init and post blocks and potentially unbounded conditional expression 2019-06-14 08:46:28 +02:00
Bhargava Shastry f57439035a Do not enclose string literal within double quotes before conversion to u256 2019-05-29 15:52:31 +02:00
Bhargava Shastry dbae0fa939 Reset Yul string repository before each compilation. 2019-05-28 13:12:39 +02:00
chriseth 91312e657b Skip empty entries in memory and storage dump. 2019-05-23 12:27:56 +02:00
Bhargava Shastry 804368bb51 First commit 2019-05-22 10:15:28 +02:00
chriseth 4bdb981224 Make dialect const& and allocate single instances statically. 2019-05-17 12:54:24 +02:00
Bhargava Shastry 495f7f9013 [Proto fuzzer] Add function calls, and multi variable declaration/assignment statements 2019-05-09 16:00:29 +02:00
chriseth f113f8e4a0 Implement datasize, dataoffset and datacopy for yul interpreter. 2019-05-06 16:59:47 +02:00
Bhargava Shastry a5524983f9 [Proto fuzzer]: Add terminating opcodes 2019-05-02 15:34:26 +02:00
Bhargava Shastry ac7bfec2c0 Support generation of calldata, code, extcode and returndata opcodes 2019-05-02 10:14:25 +02:00
Bhargava Shastry d894ffad16 Proto fuzzer: Add missing memory and log opcodes and fix visitation bug
for ternary ops
2019-04-30 14:18:00 +02:00
chriseth 1d5559c350 Merge pull request #6554 from ethereum/add-ternary-ops
ossfuzz: Generate addmod and mulmod builtin functions
2019-04-19 00:41:57 +02:00
Bhargava Shastry 836c466f09 ossfuzz: Generate addmod and mulmod builtin functions 2019-04-18 14:21:02 +02:00
Bhargava Shastry 68b7f40184 ossfuzz: Fixes buggy generation of duplicate case literals 2019-04-18 14:12:23 +02:00
Bhargava Shastry 6f673f5e81 Generate break and continue statements inside for loop body. 2019-04-17 13:02:47 +02:00
Bhargava Shastry 484c14af81 Increase upper bound for number of interpreted steps for optimized code 2019-04-10 12:57:54 +02:00
Bhargava Shastry 762dd24784 Reference only those variables that are in scope. 2019-04-04 13:28:56 +02:00
Bhargava Shastry f15cedad7a yulInterpreter: More fine-grained exception handling 2019-04-04 13:02:55 +02:00
Bhargava Shastry 0cc6e1cb08 Use default EVMVersion instead of a hard coded one 2019-04-02 11:40:59 +02:00
chriseth 3264e9abf0 Make optimiser settings available to assembly stack. 2019-03-28 18:24:13 +01:00
Bhargava Shastry 10c3b31fa4 yulInterpreter: Add timeout based on the number of interpreted statements. 2019-03-27 12:06:02 +01:00
Bhargava Shastry b3c3a1f9cd Use visitor pattern for proto converter. 2019-03-26 16:39:44 +01:00
Bhargava Shastry ef94d6d645 yul Interpreter: Move memory size limit to interpreter state. 2019-03-26 14:42:25 +01:00
Bhargava Shastry a895ccba39 ossfuzz: Enable optimization in Assembly stack assembler call. 2019-03-26 13:42:51 +01:00
Bhargava Shastry d1d3dd8571 yul proto: Add support for generating string and hex literals. 2019-03-21 12:25:52 +01:00
Bhargava Shastry 22f5a82edc yul proto: Add support for generating for and switch statements. 2019-03-20 18:50:27 +00:00
Bhargava Shastry 6c1d0b62b5 Adds oss-fuzz harnesses to fuzz AssemblyStack API calls for parsing/optimizing StrictAssembly and generating EVM bytecode. 2019-03-20 16:06:45 +01:00
chriseth 834c23fc38 Merge pull request #6289 from ethereum/strictasm_fuzzer_ascii_only
Discard fuzz input containing non ASCII character(s).
2019-03-18 11:44:06 +01:00
Bhargava Shastryandbshastry 725fc898fd Discard fuzz input containing at least one character not in the following set: "isprint"able, newline, and horizontal
Co-Authored-By: bshastry <bshastry@ethereum.org>
2019-03-18 10:36:43 +01:00
Bhargava Shastry 5e8ed426df Add more binary operations to the yul proto spec. 2019-03-14 22:26:25 +01:00
Bhargava Shastry 5681086d2c Proto spec and translator bug fixes. 2019-03-14 15:40:54 +01:00
Bhargava Shastry 54d0d153fa Reduce input file size for solc and constant optimizer fuzzers. 2019-03-06 11:35:22 +01:00
Bhargava Shastry a370551ea2 ossfuzz: Reduce test input size to less than equal to 600 bytes. 2019-03-05 16:55:55 +01:00
Bhargava Shastry d9bcbe6ad5 LibProtobuf Mutator (LPM) based fuzzer for yul subset 2019-03-05 12:32:55 +01:00