From be713ed1176c4dee2c1e444d41e5a72ab9caf115 Mon Sep 17 00:00:00 2001 From: chriseth Date: Tue, 4 Sep 2018 16:55:45 +0200 Subject: Changelog entry and bug list. --- docs/bugs.json | 7 ++++++ docs/bugs_by_version.json | 55 +++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/bugs.json b/docs/bugs.json index 423c314d..d0704c1f 100644 --- a/docs/bugs.json +++ b/docs/bugs.json @@ -7,6 +7,13 @@ "fixed": "0.4.25", "severity": "very low" }, + { + "name": "ExpCleanupZero", + "summary": "Using exponentiating with types shorter than 256 bits and zero as base can result in unexpected values.", + "description": "As defined by the EVM, 0 ** 0 is one. Solidity does not always remove dirty higher order bits of types that are smaller than 256 bits before applying an operation because it does not matter if the cleanup is performed before or after the operation. This is true for EXP except for the case where the base is zero, which was overlooked.", + "fixed": "0.4.25", + "severity": "high" + }, { "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.", diff --git a/docs/bugs_by_version.json b/docs/bugs_by_version.json index 00531b9e..5bd43415 100644 --- a/docs/bugs_by_version.json +++ b/docs/bugs_by_version.json @@ -1,6 +1,7 @@ { "0.1.0": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -18,6 +19,7 @@ }, "0.1.1": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -35,6 +37,7 @@ }, "0.1.2": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -52,6 +55,7 @@ }, "0.1.3": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -69,6 +73,7 @@ }, "0.1.4": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -86,6 +91,7 @@ }, "0.1.5": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -103,6 +109,7 @@ }, "0.1.6": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -121,6 +128,7 @@ }, "0.1.7": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -139,6 +147,7 @@ }, "0.2.0": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -157,6 +166,7 @@ }, "0.2.1": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -175,6 +185,7 @@ }, "0.2.2": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "ECRecoverMalformedInput", "SkipEmptyStringLiteral", @@ -193,6 +204,7 @@ }, "0.3.0": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -211,6 +223,7 @@ }, "0.3.1": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -228,6 +241,7 @@ }, "0.3.2": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -245,6 +259,7 @@ }, "0.3.3": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -261,6 +276,7 @@ }, "0.3.4": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -277,6 +293,7 @@ }, "0.3.5": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -293,6 +310,7 @@ }, "0.3.6": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -307,6 +325,7 @@ }, "0.4.0": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -321,6 +340,7 @@ }, "0.4.1": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -335,6 +355,7 @@ }, "0.4.10": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -345,6 +366,7 @@ }, "0.4.11": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -354,6 +376,7 @@ }, "0.4.12": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput" @@ -362,6 +385,7 @@ }, "0.4.13": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput" @@ -370,6 +394,7 @@ }, "0.4.14": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue" ], @@ -377,12 +402,14 @@ }, "0.4.15": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector" ], "released": "2017-08-08" }, "0.4.16": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector" ], "released": "2017-08-24" @@ -390,24 +417,28 @@ "0.4.17": { "bugs": [ "EventStructWrongData", + "ExpCleanupZero", "ZeroFunctionSelector" ], "released": "2017-09-21" }, "0.4.18": { "bugs": [ - "EventStructWrongData" + "EventStructWrongData", + "ExpCleanupZero" ], "released": "2017-10-18" }, "0.4.19": { "bugs": [ - "EventStructWrongData" + "EventStructWrongData", + "ExpCleanupZero" ], "released": "2017-11-30" }, "0.4.2": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -421,37 +452,43 @@ }, "0.4.20": { "bugs": [ - "EventStructWrongData" + "EventStructWrongData", + "ExpCleanupZero" ], "released": "2018-02-14" }, "0.4.21": { "bugs": [ - "EventStructWrongData" + "EventStructWrongData", + "ExpCleanupZero" ], "released": "2018-03-07" }, "0.4.22": { "bugs": [ "EventStructWrongData", + "ExpCleanupZero", "OneOfTwoConstructorsSkipped" ], "released": "2018-04-16" }, "0.4.23": { "bugs": [ - "EventStructWrongData" + "EventStructWrongData", + "ExpCleanupZero" ], "released": "2018-04-19" }, "0.4.24": { "bugs": [ - "EventStructWrongData" + "EventStructWrongData", + "ExpCleanupZero" ], "released": "2018-05-16" }, "0.4.3": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -464,6 +501,7 @@ }, "0.4.4": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -475,6 +513,7 @@ }, "0.4.5": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -487,6 +526,7 @@ }, "0.4.6": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -498,6 +538,7 @@ }, "0.4.7": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -508,6 +549,7 @@ }, "0.4.8": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", @@ -518,6 +560,7 @@ }, "0.4.9": { "bugs": [ + "ExpCleanupZero", "ZeroFunctionSelector", "DelegateCallReturnValue", "ECRecoverMalformedInput", -- cgit