aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-04-12 21:36:59 +0800
committerchriseth <chris@ethereum.org>2017-04-12 21:37:06 +0800
commit10c32362ead6b5198221a48605e16c89a7800deb (patch)
treea4386b0494569fa38b5a2aaa3ed34598bacb2116
parentfeacfcfd203c7d24b13ce28da3ce7041f5ee5287 (diff)
downloaddexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.tar
dexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.tar.gz
dexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.tar.bz2
dexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.tar.lz
dexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.tar.xz
dexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.tar.zst
dexon-solidity-10c32362ead6b5198221a48605e16c89a7800deb.zip
Prefix all optimizer bug names by Optimizer.
-rw-r--r--docs/bugs.json6
-rw-r--r--docs/bugs_by_version.json78
2 files changed, 42 insertions, 42 deletions
diff --git a/docs/bugs.json b/docs/bugs.json
index f80816ee..4e7f1245 100644
--- a/docs/bugs.json
+++ b/docs/bugs.json
@@ -7,7 +7,7 @@
"fixed": "0.4.7"
},
{
- "name": "StateKnowledgeNotResetForJumpdest",
+ "name": "OptimizerStateKnowledgeNotResetForJumpdest",
"summary": "The optimizer did not properly reset its internal state at jump destinations, which could lead to data corruption.",
"description": "The optimizer performs symbolic execution at certain stages. At jump destinations, multiple code paths join and thus it has to compute a common state from the incoming edges. Computing this common state was simplified to just use the empty state, but this implementation was not done properly. This bug can cause data corruption.",
"severity": "medium",
@@ -27,7 +27,7 @@
"fixed": "0.4.4"
},
{
- "name": "StaleKnowledgeAboutSHA3",
+ "name": "OptimizerStaleKnowledgeAboutSHA3",
"summary": "The optimizer did not properly reset its knowledge about SHA3 operations resulting in some hashes (also used for storage variable positions) not being calculated correctly.",
"description": "The optimizer performs symbolic execution in order to save re-evaluating expressions whose value is already known. This knowledge was not properly reset across control flow paths and thus the optimizer sometimes thought that the result of a SHA3 operation is already present on the stack. This could result in data corruption by accessing the wrong storage slot.",
"severity": "low/medium",
@@ -59,7 +59,7 @@
"fixed": "0.3.6"
},
{
- "name": "ClearStateOnCodePathJoin",
+ "name": "OptimizerClearStateOnCodePathJoin",
"summary": "The optimizer did not properly reset its internal state at jump destinations, which could lead to data corruption.",
"description": "The optimizer performs symbolic execution at certain stages. At jump destinations, multiple code paths join and thus it has to compute a common state from the incoming edges. Computing this common state was not done correctly. This bug can cause data corruption, but it is probably quite hard to use for targeted attacks.",
"severity": "low",
diff --git a/docs/bugs_by_version.json b/docs/bugs_by_version.json
index 5d119807..64015d4a 100644
--- a/docs/bugs_by_version.json
+++ b/docs/bugs_by_version.json
@@ -2,10 +2,10 @@
"0.1.0": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -15,10 +15,10 @@
"0.1.1": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -28,10 +28,10 @@
"0.1.2": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -41,10 +41,10 @@
"0.1.3": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -54,10 +54,10 @@
"0.1.4": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -67,10 +67,10 @@
"0.1.5": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -81,10 +81,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -95,10 +95,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -109,10 +109,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -123,10 +123,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -137,10 +137,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits",
"AncientCompiler"
@@ -151,10 +151,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits",
"ArrayAccessCleanHigherOrderBits"
],
@@ -164,10 +164,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits"
],
"released": "2016-03-31"
@@ -176,10 +176,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin",
+ "OptimizerClearStateOnCodePathJoin",
"CleanBytesHigherOrderBits"
],
"released": "2016-04-18"
@@ -188,10 +188,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin"
+ "OptimizerClearStateOnCodePathJoin"
],
"released": "2016-05-27"
},
@@ -199,10 +199,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin"
+ "OptimizerClearStateOnCodePathJoin"
],
"released": "2016-05-31"
},
@@ -210,10 +210,10 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther",
"DynamicAllocationInfiniteLoop",
- "ClearStateOnCodePathJoin"
+ "OptimizerClearStateOnCodePathJoin"
],
"released": "2016-06-10"
},
@@ -221,7 +221,7 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"SendFailsForZeroEther"
],
"released": "2016-08-10"
@@ -230,7 +230,7 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"LibrariesNotCallableFromPayableFunctions"
],
"released": "2016-09-08"
@@ -239,7 +239,7 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3",
+ "OptimizerStaleKnowledgeAboutSHA3",
"LibrariesNotCallableFromPayableFunctions"
],
"released": "2016-09-09"
@@ -252,7 +252,7 @@
"bugs": [
"IdentityPrecompileReturnIgnored",
"HighOrderByteCleanStorage",
- "StaleKnowledgeAboutSHA3"
+ "OptimizerStaleKnowledgeAboutSHA3"
],
"released": "2016-09-17"
},
@@ -272,7 +272,7 @@
"0.4.5": {
"bugs": [
"IdentityPrecompileReturnIgnored",
- "StateKnowledgeNotResetForJumpdest"
+ "OptimizerStateKnowledgeNotResetForJumpdest"
],
"released": "2016-11-21"
},