Skip to content

[6.0][Runtime] Mask out spare bits after copying for Error in CVW #73427

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
May 6, 2024

Conversation

drexin
Copy link
Contributor

@drexin drexin commented May 3, 2024

Explanation: When the spare bits of an Error objects are used to store tag bits, this caused the enum tag to be lost, which caused the wrong enum cases to be matched.
Scope: Only affects compact value witnesses
Risk: Low. Only affects CVW
Testing: Added test cases that observe the issue before the fix
Issue: rdar://127379960
Reviewer: @mikeash
Main branch PR: #73426

rdar://127379960

When the spare bits of an Error objects are used to store tag bits, this caused the enum tag to be lost, which caused the wrong enum cases to be matched.
@drexin drexin added 🍒 release cherry pick Flag: Release branch cherry picks swift 6.0 labels May 3, 2024
@drexin drexin requested a review from a team as a code owner May 3, 2024 19:33
@drexin
Copy link
Contributor Author

drexin commented May 3, 2024

@swift-ci test

@drexin drexin merged commit 1233992 into swiftlang:release/6.0 May 6, 2024
@drexin drexin deleted the wip-127379960-6.0 branch May 6, 2024 18:05
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 6.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants