Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a revert message propagation issue where the length of revert bytes was the offset of the return data in memory and not its actual length 🤦. It turns out that because of how ABI encoding works, the tests were not catching this issue since in that particular test the offset was alway larger than the actual length of the revert message. In theory, this is UB (as the offset it not guaranteed to be larger than the message, although, in practice it is not a serious issue, as it appears the compiler is allocating memory for the raw
call
result and then copying with a loop the ABI-decodedreturnData
memory bytes after it, so the offset ofreturnData
will always be greater than its size, and the current implementation just returns too many bytes).Adjusted tests to ensure the exact revert data is propagated.