Buglist entry for calldata structs with dynamically encoded, but statically-sized members.

This commit is contained in:
Daniel Kirchner 2019-08-12 13:48:36 +02:00
parent 0ca4a744e8
commit 05cc866c42
2 changed files with 18 additions and 1 deletions

View File

@ -1,4 +1,15 @@
[ [
{
"name": "ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
"summary": "Reading from calldata structs that contain dynamically encoded, but statically-sized members can result in incorrect values.",
"description": "When a calldata struct contains a dynamically encoded, but statically-sized member, the offsets for all subsequent struct members are calculated incorrectly. All reads from such members will result in invalid values. Only calldata structs are affected, i.e. this occurs in external functions with such structs as argument. Using affected structs in storage or memory or as arguments to public functions on the other hand works correctly.",
"introduced": "0.5.6",
"fixed": "0.5.11",
"severity": "low",
"conditions": {
"ABIEncoderV2": true
}
},
{ {
"name": "SignedArrayStorageCopy", "name": "SignedArrayStorageCopy",
"summary": "Assigning an array of signed integers to a storage array of different type can lead to data corruption in that array.", "summary": "Assigning an array of signed integers to a storage array of different type can lead to data corruption in that array.",

View File

@ -741,7 +741,9 @@
"released": "2018-12-03" "released": "2018-12-03"
}, },
"0.5.10": { "0.5.10": {
"bugs": [], "bugs": [
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers"
],
"released": "2019-06-25" "released": "2019-06-25"
}, },
"0.5.2": { "0.5.2": {
@ -792,6 +794,7 @@
}, },
"0.5.6": { "0.5.6": {
"bugs": [ "bugs": [
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
"SignedArrayStorageCopy", "SignedArrayStorageCopy",
"ABIEncoderV2StorageArrayWithMultiSlotElement", "ABIEncoderV2StorageArrayWithMultiSlotElement",
"DynamicConstructorArgumentsClippedABIV2", "DynamicConstructorArgumentsClippedABIV2",
@ -804,6 +807,7 @@
}, },
"0.5.7": { "0.5.7": {
"bugs": [ "bugs": [
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
"SignedArrayStorageCopy", "SignedArrayStorageCopy",
"ABIEncoderV2StorageArrayWithMultiSlotElement", "ABIEncoderV2StorageArrayWithMultiSlotElement",
"DynamicConstructorArgumentsClippedABIV2", "DynamicConstructorArgumentsClippedABIV2",
@ -814,6 +818,7 @@
}, },
"0.5.8": { "0.5.8": {
"bugs": [ "bugs": [
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
"SignedArrayStorageCopy", "SignedArrayStorageCopy",
"ABIEncoderV2StorageArrayWithMultiSlotElement", "ABIEncoderV2StorageArrayWithMultiSlotElement",
"DynamicConstructorArgumentsClippedABIV2" "DynamicConstructorArgumentsClippedABIV2"
@ -822,6 +827,7 @@
}, },
"0.5.9": { "0.5.9": {
"bugs": [ "bugs": [
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
"SignedArrayStorageCopy", "SignedArrayStorageCopy",
"ABIEncoderV2StorageArrayWithMultiSlotElement" "ABIEncoderV2StorageArrayWithMultiSlotElement"
], ],