Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

briansull
Copy link

@briansull briansull commented Jan 25, 2020

This is the fix for the 3.1 branch for the runtime issue #1104
This a a bug which Sergey Andreenko @sandreenko found where the JIT can
optimize away a range check, allowing an out of bounds read or write.
The original cause was from PR #23109, where a cut-and-paste typo inverted the
initialization code for bool alreadyPresent in RangeCheck::IsMonotonicallyIncreasing

Customer Impact
Invalid code gen that allows an out of bounds read or write.

Regression?
A regression introduced during 3.0 development.

Testing
The fix has been verified in the runtime repo.

Risk
Low: The fix is straightforward and only impacts 1 line of code.

Code Reviewer
@sandreenko and @BruceForstall

- Pull Request Runtime\#1734
- This change corrects a cut-and paste typo with a previous commit.
- Includes test case Runtime_1104.cs
@briansull
Copy link
Author

@BruceForstall PTAL

@BruceForstall BruceForstall self-requested a review January 28, 2020 21:25
@BruceForstall
Copy link

fyi, fix in master: dotnet/runtime#1734

@jeffschwMSFT jeffschwMSFT added area-CodeGen Servicing-consider Issue for next servicing release review labels Jan 31, 2020
@jeffschwMSFT jeffschwMSFT added this to the 3.1.x milestone Jan 31, 2020
@jeffschwMSFT
Copy link
Member

Approved for .NET Runtime, we will now seek approval for the next release

@jeffschwMSFT jeffschwMSFT added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Feb 6, 2020
@jeffschwMSFT jeffschwMSFT modified the milestones: 3.1.x, 3.1.3 Feb 6, 2020
@jeffschwMSFT
Copy link
Member

Approved for 3.1.3 (March) - need to wait for the branch to open before merging

@Anipik Anipik merged commit 04d3f0d into dotnet:release/3.1 Feb 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants