Hello ArkProject,
The assembly code shifts the value of v
by 8 bits (shr(8, v)
), which might not align correctly with the Cairo string format or the Solidity memory layout. This manipulation can lead to packing incorrect data into packedData
.
The use of mload
assumes that the data is aligned to 32 bytes, but the CAIRO_STR_LEN
(31 bytes) means that the last byte of a 32-byte word might be incorrectly handled, especially when the string length is not a multiple of 32 bytes.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.