Skip to content

Conversation

@cuviper
Copy link
Member

@cuviper cuviper commented Mar 9, 2021

This is a backport for rust-lang/rust#80810.


When a large "irregular" (e.g. i96) integer call argument is converted to
indirect, 64-bit parts are stored to the stack. The full stack space
(e.g. i128) was not allocated prior to this patch, but rather just the exact
space of the original type. This caused neighboring values on the stack to be
overwritten.

Thanks to Josh Stone for reporting this.

Review: Ulrich Weigand
Fixes https://bugs.llvm.org/show_bug.cgi?id=49322
Differential Revision: https://reviews.llvm.org/D97514

(cherry picked from commit 52bbbf4)

When a large "irregular" (e.g. i96) integer call argument is converted to
indirect, 64-bit parts are stored to the stack. The full stack space
(e.g. i128) was not allocated prior to this patch, but rather just the exact
space of the original type. This caused neighboring values on the stack to be
overwritten.

Thanks to Josh Stone for reporting this.

Review: Ulrich Weigand
Fixes https://bugs.llvm.org/show_bug.cgi?id=49322
Differential Revision: https://reviews.llvm.org/D97514

(cherry picked from commit 52bbbf4)
@nikic nikic merged commit c6dde22 into rust-lang:rustc/12.0-2021-02-03 Mar 9, 2021
@nikic
Copy link

nikic commented Mar 9, 2021

I plan to pick up some additional fixes soon, so I'd suggest holding off on the submodule update for now.

@cuviper
Copy link
Member Author

cuviper commented Mar 10, 2021

No problem, thanks!

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.

3 participants