Skip to content

Commit f427247

Browse files
committed
Bug list entry.
1 parent 259edd4 commit f427247

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
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+
"uid": "SOL-2022-3",
4+
"name": "DataLocationChangeInInternalOverride",
5+
"summary": "It was possible to change the data location of the parameters or return variables from ``calldata`` to ``memory`` and vice-versa while overriding internal and public functions. This caused invalid code to be generated when calling such a function internally through virtual function calls.",
6+
"description": "When calling external functions, it is irrelevant if the data location of the parameters is ``calldata`` or ``memory``, the encoding of the data does not change. Because of that, changing the data location when overriding external functions is allowed. The compiler incorrectly also allowed a change in the data location for overriding public and internal functions. Since public functions can be called internally as well as externally, this causes invalid code to be generated when such an incorrectly overridden function is called internally through the base contract. The caller provides a memory pointer, but the called function interprets it as a calldata pointer or vice-versa.",
7+
"link": "https://blog.soliditylang.org/2022/05/17/data-location-inheritance-bug/",
8+
"introduced": "0.6.9",
9+
"fixed": "0.8.14",
10+
"severity": "very low"
11+
12+
},
213
{
314
"uid": "SOL-2022-2",
415
"name": "NestedCallataArrayAbiReencodingSizeValidation",

docs/bugs_by_version.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,6 +1345,7 @@
13451345
},
13461346
"0.6.10": {
13471347
"bugs": [
1348+
"DataLocationChangeInInternalOverride",
13481349
"NestedCallataArrayAbiReencodingSizeValidation",
13491350
"SignedImmutables",
13501351
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1356,6 +1357,7 @@
13561357
},
13571358
"0.6.11": {
13581359
"bugs": [
1360+
"DataLocationChangeInInternalOverride",
13591361
"NestedCallataArrayAbiReencodingSizeValidation",
13601362
"SignedImmutables",
13611363
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1367,6 +1369,7 @@
13671369
},
13681370
"0.6.12": {
13691371
"bugs": [
1372+
"DataLocationChangeInInternalOverride",
13701373
"NestedCallataArrayAbiReencodingSizeValidation",
13711374
"SignedImmutables",
13721375
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1477,6 +1480,7 @@
14771480
},
14781481
"0.6.9": {
14791482
"bugs": [
1483+
"DataLocationChangeInInternalOverride",
14801484
"NestedCallataArrayAbiReencodingSizeValidation",
14811485
"SignedImmutables",
14821486
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1489,6 +1493,7 @@
14891493
},
14901494
"0.7.0": {
14911495
"bugs": [
1496+
"DataLocationChangeInInternalOverride",
14921497
"NestedCallataArrayAbiReencodingSizeValidation",
14931498
"SignedImmutables",
14941499
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1500,6 +1505,7 @@
15001505
},
15011506
"0.7.1": {
15021507
"bugs": [
1508+
"DataLocationChangeInInternalOverride",
15031509
"NestedCallataArrayAbiReencodingSizeValidation",
15041510
"SignedImmutables",
15051511
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1512,6 +1518,7 @@
15121518
},
15131519
"0.7.2": {
15141520
"bugs": [
1521+
"DataLocationChangeInInternalOverride",
15151522
"NestedCallataArrayAbiReencodingSizeValidation",
15161523
"SignedImmutables",
15171524
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1523,6 +1530,7 @@
15231530
},
15241531
"0.7.3": {
15251532
"bugs": [
1533+
"DataLocationChangeInInternalOverride",
15261534
"NestedCallataArrayAbiReencodingSizeValidation",
15271535
"SignedImmutables",
15281536
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1533,6 +1541,7 @@
15331541
},
15341542
"0.7.4": {
15351543
"bugs": [
1544+
"DataLocationChangeInInternalOverride",
15361545
"NestedCallataArrayAbiReencodingSizeValidation",
15371546
"SignedImmutables",
15381547
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1542,6 +1551,7 @@
15421551
},
15431552
"0.7.5": {
15441553
"bugs": [
1554+
"DataLocationChangeInInternalOverride",
15451555
"NestedCallataArrayAbiReencodingSizeValidation",
15461556
"SignedImmutables",
15471557
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1551,6 +1561,7 @@
15511561
},
15521562
"0.7.6": {
15531563
"bugs": [
1564+
"DataLocationChangeInInternalOverride",
15541565
"NestedCallataArrayAbiReencodingSizeValidation",
15551566
"SignedImmutables",
15561567
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1560,6 +1571,7 @@
15601571
},
15611572
"0.8.0": {
15621573
"bugs": [
1574+
"DataLocationChangeInInternalOverride",
15631575
"NestedCallataArrayAbiReencodingSizeValidation",
15641576
"SignedImmutables",
15651577
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1569,6 +1581,7 @@
15691581
},
15701582
"0.8.1": {
15711583
"bugs": [
1584+
"DataLocationChangeInInternalOverride",
15721585
"NestedCallataArrayAbiReencodingSizeValidation",
15731586
"SignedImmutables",
15741587
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1578,32 +1591,37 @@
15781591
},
15791592
"0.8.10": {
15801593
"bugs": [
1594+
"DataLocationChangeInInternalOverride",
15811595
"NestedCallataArrayAbiReencodingSizeValidation"
15821596
],
15831597
"released": "2021-11-09"
15841598
},
15851599
"0.8.11": {
15861600
"bugs": [
1601+
"DataLocationChangeInInternalOverride",
15871602
"NestedCallataArrayAbiReencodingSizeValidation",
15881603
"AbiEncodeCallLiteralAsFixedBytesBug"
15891604
],
15901605
"released": "2021-12-20"
15911606
},
15921607
"0.8.12": {
15931608
"bugs": [
1609+
"DataLocationChangeInInternalOverride",
15941610
"NestedCallataArrayAbiReencodingSizeValidation",
15951611
"AbiEncodeCallLiteralAsFixedBytesBug"
15961612
],
15971613
"released": "2022-02-16"
15981614
},
15991615
"0.8.13": {
16001616
"bugs": [
1617+
"DataLocationChangeInInternalOverride",
16011618
"NestedCallataArrayAbiReencodingSizeValidation"
16021619
],
16031620
"released": "2022-03-16"
16041621
},
16051622
"0.8.2": {
16061623
"bugs": [
1624+
"DataLocationChangeInInternalOverride",
16071625
"NestedCallataArrayAbiReencodingSizeValidation",
16081626
"SignedImmutables",
16091627
"ABIDecodeTwoDimensionalArrayMemory",
@@ -1613,6 +1631,7 @@
16131631
},
16141632
"0.8.3": {
16151633
"bugs": [
1634+
"DataLocationChangeInInternalOverride",
16161635
"NestedCallataArrayAbiReencodingSizeValidation",
16171636
"SignedImmutables",
16181637
"ABIDecodeTwoDimensionalArrayMemory"
@@ -1621,34 +1640,39 @@
16211640
},
16221641
"0.8.4": {
16231642
"bugs": [
1643+
"DataLocationChangeInInternalOverride",
16241644
"NestedCallataArrayAbiReencodingSizeValidation",
16251645
"SignedImmutables"
16261646
],
16271647
"released": "2021-04-21"
16281648
},
16291649
"0.8.5": {
16301650
"bugs": [
1651+
"DataLocationChangeInInternalOverride",
16311652
"NestedCallataArrayAbiReencodingSizeValidation",
16321653
"SignedImmutables"
16331654
],
16341655
"released": "2021-06-10"
16351656
},
16361657
"0.8.6": {
16371658
"bugs": [
1659+
"DataLocationChangeInInternalOverride",
16381660
"NestedCallataArrayAbiReencodingSizeValidation",
16391661
"SignedImmutables"
16401662
],
16411663
"released": "2021-06-22"
16421664
},
16431665
"0.8.7": {
16441666
"bugs": [
1667+
"DataLocationChangeInInternalOverride",
16451668
"NestedCallataArrayAbiReencodingSizeValidation",
16461669
"SignedImmutables"
16471670
],
16481671
"released": "2021-08-11"
16491672
},
16501673
"0.8.8": {
16511674
"bugs": [
1675+
"DataLocationChangeInInternalOverride",
16521676
"NestedCallataArrayAbiReencodingSizeValidation",
16531677
"UserDefinedValueTypesBug",
16541678
"SignedImmutables"
@@ -1657,6 +1681,7 @@
16571681
},
16581682
"0.8.9": {
16591683
"bugs": [
1684+
"DataLocationChangeInInternalOverride",
16601685
"NestedCallataArrayAbiReencodingSizeValidation"
16611686
],
16621687
"released": "2021-09-29"

0 commit comments

Comments
 (0)