File tree Expand file tree Collapse file tree 1 file changed +20
-5
lines changed Expand file tree Collapse file tree 1 file changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -978,24 +978,39 @@ bool CLR_RT_TypeDef_Instance::ResolveToken(
978978 // Skip any leading SZARRAY or BYREF
979979 do
980980 {
981- (parser.Advance (elem));
981+ if (parser.Advance (elem) != S_OK)
982+ {
983+ return false ;
984+ }
982985 } while (elem.DataType == DATATYPE_SZARRAY || elem.DataType == DATATYPE_BYREF);
983986
984987 // If this is a closed‐generic instantiation header, peel off the wrapper
985988 if (elem.DataType == DATATYPE_GENERICINST)
986989 {
987990 // consume the CLASS/VALUETYPE marker
988- (parser.Advance (elem));
991+ if (parser.Advance (elem) != S_OK)
992+ {
993+ return false ;
994+ }
989995 // consume the generic‐definition token itself
990- (parser.Advance (elem));
996+ if (parser.Advance (elem) != S_OK)
997+ {
998+ return false ;
999+ }
9911000 // consume the count of generic arguments
992- (parser.Advance (elem));
1001+ if (parser.Advance (elem) != S_OK)
1002+ {
1003+ return false ;
1004+ }
9931005 }
9941006
9951007 // walk forward until a VAR (type‐generic) or MVAR (method‐generic) is hit
9961008 while (elem.DataType != DATATYPE_VAR && elem.DataType != DATATYPE_MVAR)
9971009 {
998- (parser.Advance (elem));
1010+ if (parser.Advance (elem) != S_OK)
1011+ {
1012+ return false ;
1013+ }
9991014 }
10001015
10011016 // If it's a type‐generic slot (!T), resolve against the caller's closed generic
You can’t perform that action at this time.
0 commit comments