Reading from calldata structs that contain dynamically encoded, but statically-sized members can result in incorrect values.
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. - First Introduced: 0.5.6 - Fixed in Version: 0.5.11 - Published: - Severity<: low