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.