Skip to content

Commit d8c0c82

Browse files
authored
Merge pull request ethereum#7217 from ethereum/buglistStructOffset
Buglist entry for calldata structs with dynamically encoded, but statically-sized members.
2 parents ffe9061 + 05cc866 commit d8c0c82

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

docs/bugs.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
[
2+
{
3+
"name": "ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
4+
"summary": "Reading from calldata structs that contain dynamically encoded, but statically-sized members can result in incorrect values.",
5+
"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.",
6+
"introduced": "0.5.6",
7+
"fixed": "0.5.11",
8+
"severity": "low",
9+
"conditions": {
10+
"ABIEncoderV2": true
11+
}
12+
},
213
{
314
"name": "SignedArrayStorageCopy",
415
"summary": "Assigning an array of signed integers to a storage array of different type can lead to data corruption in that array.",

docs/bugs_by_version.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,9 @@
741741
"released": "2018-12-03"
742742
},
743743
"0.5.10": {
744-
"bugs": [],
744+
"bugs": [
745+
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers"
746+
],
745747
"released": "2019-06-25"
746748
},
747749
"0.5.2": {
@@ -792,6 +794,7 @@
792794
},
793795
"0.5.6": {
794796
"bugs": [
797+
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
795798
"SignedArrayStorageCopy",
796799
"ABIEncoderV2StorageArrayWithMultiSlotElement",
797800
"DynamicConstructorArgumentsClippedABIV2",
@@ -804,6 +807,7 @@
804807
},
805808
"0.5.7": {
806809
"bugs": [
810+
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
807811
"SignedArrayStorageCopy",
808812
"ABIEncoderV2StorageArrayWithMultiSlotElement",
809813
"DynamicConstructorArgumentsClippedABIV2",
@@ -814,6 +818,7 @@
814818
},
815819
"0.5.8": {
816820
"bugs": [
821+
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
817822
"SignedArrayStorageCopy",
818823
"ABIEncoderV2StorageArrayWithMultiSlotElement",
819824
"DynamicConstructorArgumentsClippedABIV2"
@@ -822,6 +827,7 @@
822827
},
823828
"0.5.9": {
824829
"bugs": [
830+
"ABIEncoderV2CalldataStructsWithStaticallySizedAndDynamicallyEncodedMembers",
825831
"SignedArrayStorageCopy",
826832
"ABIEncoderV2StorageArrayWithMultiSlotElement"
827833
],

0 commit comments

Comments
 (0)