Commit Graph

23393 Commits

Author SHA1 Message Date
Martin Blicha
12bca24774 [SMTChecker] Use path condition when creating CHC targets
Without path condition, verification targets created inside ternary
operator ignore the condition of the operator inside the branches.
This led to false positives.

Further updates:

- Function calls should consider the conditions under which they are
called, otherwise the analysis may report false positives.
The fix proposed here is to add the current path condition to the edge
that propagates error from a function call.

- Increment error index after function call

This is necessary for the analysis of the ternary operator to work
correctly. No information should leak from a function call inside a
ternary operator in the first branch to the second branch, including
whether or not an error would have occured in the first branch.

However, for the execution that continues after the function call,
we still need to ensure that under the current path condition
the error has not occurred in that function call.

It would be better to isolate the analysis of the branches to separate
clauses, but I do not see an easy way for that now. In this way, even
though the function call in first branch is included in the clause of
the second branch, no information leaks.

- Additonal test for ternary operator

This tests the behaviour of SMTChecker on ternary operator with function
calls inside both branches. Specifically, it tests that SMTChecker
successfully detects a violation of a verification target in the second
branch when the same target is present also in the first branch, but
there it cannot be triggered because of the operator's condition.
2023-04-21 18:56:34 +02:00
Alexander Arlt
24d43dd1e6
Merge pull request #14115 from ethereum/clang-format-remove-prohibited-property
[.clang-format ] Update prohibited property 'AlignEscapedNewlinesLeft'.
2023-04-21 11:45:19 -05:00
Kamil Śliwak
c694a004be
Merge pull request #13982 from ethereum/cleanup-base-images
Cleanup base images and CI config
2023-04-21 18:09:30 +02:00
Kamil Śliwak
a297a68726
Merge pull request #14090 from ethereum/fix-matrix-bot
Fix text formatting of CI matrix notifications
2023-04-20 14:49:40 +02:00
Rodrigo Q. Saramago
61beb321b6
Bump ubuntu 2004 and 2204 images 2023-04-19 15:49:09 +02:00
Rodrigo Q. Saramago
58555db423
Fix text formatting of CI matrix notifications
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2023-04-19 01:09:08 +02:00
Rodrigo Q. Saramago
f53c0375de
Fix ci parameters style 2023-04-19 00:57:00 +02:00
Rodrigo Q. Saramago
a968f1a18c
Fix default image 2023-04-19 00:53:28 +02:00
Rodrigo Q. Saramago
589688b236
Add image parameter to external tests 2023-04-19 00:26:04 +02:00
Rodrigo Q. Saramago
e95cfa84bc
Add space between jobs definitions 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
3b2bb4ba50
Rename t_ems_ext to t_ext since the job also supports native builds 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
ce27eecb93
Add requires_nothing 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
67078afe4b
Add on_develop filter 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
a9949f1cd1
Rename workflow_osx -> requires_osx 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
6cde589a03
Rename workflow_win -> requires_win 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
e464a49b0b
Rename workflow_archlinux -> requires_b_archlinux 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
8ea890de53
Minor fix 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
4cf3661c3e
Rename workflow_emscripten -> requires_emscripten 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
a13c3f0d07
Rename workflow_ubuntu2204 -> requires_b_ubu 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
d8937d8a76
Rename workflow_ubuntu2004_static -> requires_b_ubu_static 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
b99684d3f2
Rename workflow_trigger_on_releases -> on_version_tags 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
9b7eb4683b
Rename workflow_trigger_on_tags -> on_all_tags_and_branches 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
524db30f12
Update ubuntu ossfuzz references 2023-04-19 00:18:11 +02:00
Rodrigo Q. Saramago
f78591c356
Reorganize base images alphabetically and add small and xlarge image for ubuntu2004 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
1e00672fbc
Rename ubuntu ossfuzz dockerfile 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
927946c4f5
Move ubuntu 22.04 dependencies to docker image 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
f4ab85da3e
Remove HERA from base image 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
1fbc17ba05
Remove unused artifacts step 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
2810119891
Remove unused workflow_ubuntu1604_clang 2023-04-19 00:12:04 +02:00
Daniel
a77d4e281f
Merge pull request #14139 from ethereum/make-plus-binary-only
Make plus binary only (second attempt)
2023-04-18 21:20:31 +02:00
Daniel
29baf3b2ba
Merge pull request #14135 from ethereum/fix_null_deref_using_for
Fix null dereference in using for directive when operator name is empty
2023-04-18 20:31:55 +02:00
Matheus Aguiar
64f57ac3c7 Fix null dereference in using for directive when operator name is empty 2023-04-18 14:23:58 -03:00
Kamil Śliwak
b85a95f52d Refactor TokenTraits::isUnaryOp() not to treat + as a unary operator 2023-04-18 16:49:31 +02:00
Kamil Śliwak
8a14680851 Disallow unary plus at the parsing stage 2023-04-18 16:47:00 +02:00
Kamil Śliwak
ee1b50d345
Merge pull request #14123 from ethereum/docs-and-index-tweaks-for-literals
Literal-related documentation and index tweaks
2023-04-18 16:31:14 +02:00
Nikola Matić
8194acb3b7
Merge pull request #14119 from veniger/natspec-struct
Adds NatSpec to AST for struct definitions.
2023-04-18 16:05:20 +02:00
Daniel
3f04f00bdc
Merge pull request #14138 from ethereum/evmHostCalldataFix
Fix calldata handling during creation in EVMHost.
2023-04-18 13:47:07 +02:00
Marko Veniger
07def48f45 Adds NatSpec to AST for struct definitions. 2023-04-18 13:10:21 +02:00
Daniel Kirchner
421738b50d Fix calldata handling during creation in EVMHost. 2023-04-18 12:53:50 +02:00
Daniel
02e936ad82
Merge pull request #14128 from mdehoog/golang-generation
Fix incompatibilities with Golang parser generation
2023-04-17 20:26:41 +02:00
Daniel
c6aab84a0c
Merge pull request #14127 from ethereum/eip-3860
Add warning for EIP-3860 enforced initcode limits
2023-04-17 17:42:55 +02:00
Daniel
9befe1d456
Merge pull request #14133 from ethereum/codeTransformPush0
Emit PUSH0 as junk in evm code transform, if available.
2023-04-17 17:24:54 +02:00
Daniel Kirchner
3458da9df3 Emit PUSH0 as junk in evm code transform, if available. 2023-04-17 16:26:07 +02:00
Nuno Santos
5a776c722f
Update Side Menu (#14081)
* Update index.rst

### Plan

#### Bundle 1

Security cons.
List of known bugs
Solidity Breaking Changes (should be 1 link only)

#### Bundle 2

Natspec
SMTC
YUL
Import path

#### Bundle 3

Style Guide
Common Patterns
Resources
Contributing
Languages influences
Keyword Index

* Line breaks fix

* Whitespaces

* Update docs/index.rst

Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>

* Update docs/index.rst

* Update docs/index.rst

---------

Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2023-04-17 14:27:06 +01:00
Nuno Santos
719cce02b4
Removed duplicated link (#14131)
Submitting the Security advisory will only show for repo admins, normal users will still have the option to check our security policy.
2023-04-17 14:06:51 +01:00
Daniel
6d847e4e57
Merge pull request #14126 from ethereum/warm-coinbase
EVMHost: Support warm coinbase
2023-04-17 14:55:59 +02:00
Daniel
1a8be13c05
Merge pull request #14125 from ethereum/blake2
EVMHost: Add "support" for Blake2f
2023-04-17 14:45:58 +02:00
Kamil Śliwak
618211f82b
Merge pull request #14084 from ojasaklechayt/patch-3
Cheatsheet: Segregated codes based on type
2023-04-17 13:40:43 +02:00
Ojas Aklecha
345d0bcf13 Cheatsheet segregated based on type 2023-04-17 12:51:27 +02:00
Michael de Hoog
07ac3874b6
Fix incompatibilities with Golang parser generation 2023-04-16 13:51:05 -05:00