Skip to content

Commit b4fce97

Browse files
committed
Add safety on generic param count
1 parent 485acf0 commit b4fce97

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/CLR/Core/Execution.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1979,6 +1979,13 @@ HRESULT CLR_RT_ExecutionEngine::InitializeLocals(
19791979
parser.Initialize_MethodLocals(assembly, methodDef);
19801980
CLR_RT_SignatureParser::Element element;
19811981

1982+
// ensure we don’t walk past the available generic parameters
1983+
const int maxParams = parser.GenParamCount;
1984+
if (genericParamPosition < 0 || genericParamPosition >= maxParams)
1985+
{
1986+
NANOCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
1987+
}
1988+
19821989
// advance into the VAR entry
19831990
parser.Advance(element);
19841991

0 commit comments

Comments
 (0)