mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Bug list entry.
This commit is contained in:
parent
259edd4c98
commit
f427247993
@ -1,4 +1,15 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"uid": "SOL-2022-3",
|
||||||
|
"name": "DataLocationChangeInInternalOverride",
|
||||||
|
"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.",
|
||||||
|
"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.",
|
||||||
|
"link": "https://blog.soliditylang.org/2022/05/17/data-location-inheritance-bug/",
|
||||||
|
"introduced": "0.6.9",
|
||||||
|
"fixed": "0.8.14",
|
||||||
|
"severity": "very low"
|
||||||
|
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"uid": "SOL-2022-2",
|
"uid": "SOL-2022-2",
|
||||||
"name": "NestedCallataArrayAbiReencodingSizeValidation",
|
"name": "NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
|
@ -1345,6 +1345,7 @@
|
|||||||
},
|
},
|
||||||
"0.6.10": {
|
"0.6.10": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1356,6 +1357,7 @@
|
|||||||
},
|
},
|
||||||
"0.6.11": {
|
"0.6.11": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1367,6 +1369,7 @@
|
|||||||
},
|
},
|
||||||
"0.6.12": {
|
"0.6.12": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1477,6 +1480,7 @@
|
|||||||
},
|
},
|
||||||
"0.6.9": {
|
"0.6.9": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1489,6 +1493,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.0": {
|
"0.7.0": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1500,6 +1505,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.1": {
|
"0.7.1": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1512,6 +1518,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.2": {
|
"0.7.2": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1523,6 +1530,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.3": {
|
"0.7.3": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1533,6 +1541,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.4": {
|
"0.7.4": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1542,6 +1551,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.5": {
|
"0.7.5": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1551,6 +1561,7 @@
|
|||||||
},
|
},
|
||||||
"0.7.6": {
|
"0.7.6": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1560,6 +1571,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.0": {
|
"0.8.0": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1569,6 +1581,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.1": {
|
"0.8.1": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1578,12 +1591,14 @@
|
|||||||
},
|
},
|
||||||
"0.8.10": {
|
"0.8.10": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation"
|
"NestedCallataArrayAbiReencodingSizeValidation"
|
||||||
],
|
],
|
||||||
"released": "2021-11-09"
|
"released": "2021-11-09"
|
||||||
},
|
},
|
||||||
"0.8.11": {
|
"0.8.11": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"AbiEncodeCallLiteralAsFixedBytesBug"
|
"AbiEncodeCallLiteralAsFixedBytesBug"
|
||||||
],
|
],
|
||||||
@ -1591,6 +1606,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.12": {
|
"0.8.12": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"AbiEncodeCallLiteralAsFixedBytesBug"
|
"AbiEncodeCallLiteralAsFixedBytesBug"
|
||||||
],
|
],
|
||||||
@ -1598,12 +1614,14 @@
|
|||||||
},
|
},
|
||||||
"0.8.13": {
|
"0.8.13": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation"
|
"NestedCallataArrayAbiReencodingSizeValidation"
|
||||||
],
|
],
|
||||||
"released": "2022-03-16"
|
"released": "2022-03-16"
|
||||||
},
|
},
|
||||||
"0.8.2": {
|
"0.8.2": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory",
|
"ABIDecodeTwoDimensionalArrayMemory",
|
||||||
@ -1613,6 +1631,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.3": {
|
"0.8.3": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables",
|
"SignedImmutables",
|
||||||
"ABIDecodeTwoDimensionalArrayMemory"
|
"ABIDecodeTwoDimensionalArrayMemory"
|
||||||
@ -1621,6 +1640,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.4": {
|
"0.8.4": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables"
|
"SignedImmutables"
|
||||||
],
|
],
|
||||||
@ -1628,6 +1648,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.5": {
|
"0.8.5": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables"
|
"SignedImmutables"
|
||||||
],
|
],
|
||||||
@ -1635,6 +1656,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.6": {
|
"0.8.6": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables"
|
"SignedImmutables"
|
||||||
],
|
],
|
||||||
@ -1642,6 +1664,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.7": {
|
"0.8.7": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"SignedImmutables"
|
"SignedImmutables"
|
||||||
],
|
],
|
||||||
@ -1649,6 +1672,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.8": {
|
"0.8.8": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation",
|
"NestedCallataArrayAbiReencodingSizeValidation",
|
||||||
"UserDefinedValueTypesBug",
|
"UserDefinedValueTypesBug",
|
||||||
"SignedImmutables"
|
"SignedImmutables"
|
||||||
@ -1657,6 +1681,7 @@
|
|||||||
},
|
},
|
||||||
"0.8.9": {
|
"0.8.9": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
|
"DataLocationChangeInInternalOverride",
|
||||||
"NestedCallataArrayAbiReencodingSizeValidation"
|
"NestedCallataArrayAbiReencodingSizeValidation"
|
||||||
],
|
],
|
||||||
"released": "2021-09-29"
|
"released": "2021-09-29"
|
||||||
|
Loading…
Reference in New Issue
Block a user