Storage 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.ethereum.org/2019/06/25/solidity-storage-array-bugs/ - First Introduced: 0.4.16 - Fixed in Version: 0.5.10 - Published: - Severity<: low