Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up clone3 return value #23

Merged
merged 1 commit into from
Feb 20, 2024

Conversation

byshape
Copy link
Contributor

@byshape byshape commented Feb 19, 2024

There are two functions in the ClonesWithImmutableArgs library that return address as a result of the keccak256 function: clone3 and addressOfClone3. Unmasked, this results in invalid value if used later in assembly code block.

Imagine that the clone3 function is used to create a clone and then its address is passed to another function that makes a call using that address as a parameter. If this assembly code, such as library, doesn’t clear the address, then this “address” will be invalid and the call will fail.

I suggest masking the result of the keccak256 function to avoid possible problems with address usage.

P.S. In the commit, you can see a couple of tests that should fail when run on the production code without the suggested changes.

@byshape byshape changed the title Cleane clone3 return value Clean up clone3 return value Feb 19, 2024
@wighawag wighawag merged commit 3328dba into wighawag:master Feb 20, 2024
1 check passed
@wighawag
Copy link
Owner

make sense, thanks for the PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants