Don't change LCL_FLD node type when replacing param with its shadow copy (#20900)
authorEgor Chesakov <Egor.Chesakov@microsoft.com>
Sat, 15 Jun 2019 03:30:51 +0000 (20:30 -0700)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2019 03:30:51 +0000 (20:30 -0700)
commitae2cd207ecf1e14c5e458588f28465b7aab97436
tree47cecb5f600dace4a658dd8277638d19f73323d8
parent14a981fd1d92f261870d64435ed50e599747a323
Don't change LCL_FLD node type when replacing param with its shadow copy (#20900)

Fix an issue that is reproduced when:

1) a method requires GSSecurityCookie (e.g. when allocating unsafe buffer using localloc) and

2) one of the method parameters is "vulnerable" and requires a shadow variable to be created and used instead of the original parameter variable and

3) the method parameter has small signed integer type (i.e. int8 or int16) and

4) the value of the parameter is converted to unsigned type (e.g. uint8 or uint16).
src/jit/gschecks.cpp
tests/src/JIT/Regression/JitBlue/GitHub_20799/GitHub_20799.il [new file with mode: 0644]
tests/src/JIT/Regression/JitBlue/GitHub_20799/GitHub_20799.ilproj [new file with mode: 0644]