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

Forwarding via bytes should not pad #3978

Closed
chriseth opened this issue Apr 23, 2018 · 5 comments
Closed

Forwarding via bytes should not pad #3978

chriseth opened this issue Apr 23, 2018 · 5 comments

Comments

@chriseth
Copy link
Contributor

We should check that forwarding calls via .call(msg.data) and especially via bytes memory x=msg.data; a.call(x); does not pad.

@chriseth
Copy link
Contributor Author

Potentially proposed solution: With a breaking change, modify how arrays are encoded in packed way, do not pad them to multiples of 32 bytes.

@chriseth
Copy link
Contributor Author

Related / potential duplicate: #2884

@chriseth
Copy link
Contributor Author

chriseth commented May 7, 2018

Actually (sorry I already realized that in a different issue), .call does not perform packed encoding, but a weird third type of encoding.

I would propose to change call to only take bytes and perform a "packed encoding" of that argument, i.e. combine this with #3955

@chriseth
Copy link
Contributor Author

chriseth commented May 9, 2018

This should probably only be fixed with 0.5.0 proper.

@chriseth
Copy link
Contributor Author

chriseth commented May 9, 2018

Related: #3789

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

No branches or pull requests

1 participant