aboutsummaryrefslogtreecommitdiffstats
path: root/docs/bugs.json
diff options
context:
space:
mode:
authorLeonardo Alt <leo@ethereum.org>2018-08-21 22:09:53 +0800
committerchriseth <chris@ethereum.org>2018-09-10 22:45:56 +0800
commit69320472afe8c1c5031c3243ef6299cbfcd2e523 (patch)
tree7abc5dc1b72d2b8612980860534c4b2407824ba6 /docs/bugs.json
parent6402b8382661ae738faa07c9dbd9af6358e61f6c (diff)
downloaddexon-solidity-69320472afe8c1c5031c3243ef6299cbfcd2e523.tar.gz
dexon-solidity-69320472afe8c1c5031c3243ef6299cbfcd2e523.tar.zst
dexon-solidity-69320472afe8c1c5031c3243ef6299cbfcd2e523.zip
Buglist check script supports json paths
Diffstat (limited to 'docs/bugs.json')
-rw-r--r--docs/bugs.json26
1 files changed, 18 insertions, 8 deletions
diff --git a/docs/bugs.json b/docs/bugs.json
index 560176d1..28c0fe62 100644
--- a/docs/bugs.json
+++ b/docs/bugs.json
@@ -1,12 +1,4 @@
[
- {
- "name": "EventStructWrongData",
- "summary": "Using structs in events logged wrong data.",
- "description": "If a struct is used in an event, the address of the struct is logged instead of the actual data.",
- "introduced": "0.4.17",
- "fixed": "0.4.25",
- "severity": "very low"
- },
{
"name": "ExpExponentCleanup",
"summary": "Using the ** operator with an exponent of type shorter than 256 bits can result in unexpected values.",
@@ -16,6 +8,24 @@
"check": {"regex-source": "[^/]\\*\\* *[^/0-9 ]"}
},
{
+ "name": "EventStructWrongData",
+ "summary": "Using structs in events logged wrong data.",
+ "description": "If a struct is used in an event, the address of the struct is logged instead of the actual data.",
+ "introduced": "0.4.17",
+ "fixed": "0.4.25",
+ "severity": "very low",
+ "check": {"ast-compact-json-path": "$..[?(@.nodeType === 'EventDefinition')]..[?(@.nodeType === 'UserDefinedTypeName' && @.typeDescriptions.typeString.startsWith('struct'))]"}
+ },
+ {
+ "name": "NestedArrayFunctionCallDecoder",
+ "summary": "Calling functions that return multi-dimensional fixed-size arrays can result in memory corruption.",
+ "description": "If Solidity code calls a function that returns a multi-dimensional fixed-size array, array elements are incorrectly interpreted as memory pointers and thus can cause memory corruption if the return values are accessed. Calling functions with multi-dimensional fixed-size arrays is unaffected as is returning fixed-size arrays from function calls. The regular expression only checks if such functions are present, not if they are called, which is required for the contract to be affected.",
+ "introduced": "0.1.4",
+ "fixed": "0.4.22",
+ "severity": "medium",
+ "check": {"regex-source": "returns[^;{]*\\[\\s*[^\\] \\t\\r\\n\\v\\f][^\\]]*\\]\\s*\\[\\s*[^\\] \\t\\r\\n\\v\\f][^\\]]*\\][^{;]*[;{]"}
+ },
+ {
"name": "OneOfTwoConstructorsSkipped",
"summary": "If a contract has both a new-style constructor (using the constructor keyword) and an old-style constructor (a function with the same name as the contract) at the same time, one of them will be ignored.",
"description": "If a contract has both a new-style constructor (using the constructor keyword) and an old-style constructor (a function with the same name as the contract) at the same time, one of them will be ignored. There will be a compiler warning about the old-style constructor, so contracts only using new-style constructors are fine.",