Skip to content

[5.9][IRGen] Prevent overflow in RecordField with large explosions #65018

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

Merged
merged 1 commit into from
Apr 21, 2023

Conversation

drexin
Copy link
Contributor

@drexin drexin commented Apr 7, 2023

Cherry-picked from: #64828

rdar://99415586

Exploding very large types could cause an overflow, which in turn caused a crash later in IRGen. Fixed by increasing width of the variables in question from 16 to 32 bit and adding an overflow check.

rdar://99415586

Exploding very large types could cause an overflow, which in turn caused a crash later in IRGen.
Fixed by increasing width of the variables in question from 16 to 32 bit and adding an overflow check.
@drexin drexin requested a review from a team as a code owner April 7, 2023 20:54
@drexin drexin changed the title [IRGen] Prevent overflow in RecordField with large explosions [5.9][IRGen] Prevent overflow in RecordField with large explosions Apr 7, 2023
@drexin
Copy link
Contributor Author

drexin commented Apr 7, 2023

@swift-ci test

@drexin
Copy link
Contributor Author

drexin commented Apr 13, 2023

@tbkka The PR to main was reviewed and approved by @aschwaighofer. Would you mind approving this?

@drexin drexin requested a review from tbkka April 21, 2023 20:25
@drexin drexin merged commit 4a9f0f9 into swiftlang:release/5.9 Apr 21, 2023
@AnthonyLatsis AnthonyLatsis added the 🍒 release cherry pick Flag: Release branch cherry picks label May 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍒 release cherry pick Flag: Release branch cherry picks swift 5.9
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants