SepDeleteTokenUserAndGroups
VOID __stdcall SepDeleteTokenUserAndGroups(_TOKEN *Token){
void *IntegrityLevelSidValue;
unsigned int IntegrityLevelIndex;
_SEP_SID_VALUES_BLOCK *TokenSidValues;
IntegrityLevelSidValue = Token->IntegrityLevelSidValue;
if( IntegrityLevelSidValue )
{
IntegrityLevelIndex = Token->IntegrityLevelIndex;
if( IntegrityLevelIndex != -1 )
{
Token->UserAndGroups[IntegrityLevelIndex].Sid = 0i64;
IntegrityLevelSidValue = Token->IntegrityLevelSidValue;
Token->IntegrityLevelIndex = -1;
}
ExFreePoolWithTag(IntegrityLevelSidValue, 0);
Token->IntegrityLevelSidValue = 0i64;
}
TokenSidValues = Token->TokenSidValues;
if( TokenSidValues )
{
SepDereferenceSidValuesBlock(TokenSidValues, Token, 0i64);
Token->TokenSidValues = 0i64;
}
Token->UserAndGroups = 0i64;
Token->UserAndGroupCount = 0;
}Referenced by:
SepTokenDeleteMethod