ABIEncoderV2StorageArrayWithMultiSlotElementStorage arrays containing structs or other statically-sized arrays are not read properly when directly encoded in external function calls or in abi.encode*.
|When storage arrays whose elements occupy more than a single storage slot are directly encoded in external function calls or using abi.encode*, their elements are read in an overlapping manner, i.e. the element pointer is not properly advanced between reads. This is not a problem when the storage data is first copied to a memory variable or if the storage array only contains value types or dynamically-sized arrays.
- Link: https://blog.soliditylang.org/2019/06/25/solidity-storage-array-bugs/
- First Introduced: 0.4.16
- Fixed in Version: 0.5.10
- Severity<: low