CmpAdjustSecurityCacheSize
UINT8 __stdcall CmpAdjustSecurityCacheSize(CMHIVE *CmHive){
unsigned int SecurityCount;
_CM_KEY_SECURITY_CACHE_ENTRY *v3;
_CM_KEY_SECURITY_CACHE_ENTRY *v4;
SecurityCount = CmHive->SecurityCount;
if( SecurityCount >= CmHive->SecurityCacheSize )
goto LABEL_4;
v3 = (_CM_KEY_SECURITY_CACHE_ENTRY *)CmHive->Hive.Allocate(16 * SecurityCount, 0i64, 1666403651i64);
v4 = v3;
if( v3 )
{
memmove(v3, CmHive->SecurityCache, 16 * CmHive->SecurityCount);
CmHive->Hive.Free(CmHive->SecurityCache, 16 * CmHive->SecurityCacheSize);
CmHive->SecurityCacheSize = CmHive->SecurityCount;
CmHive->SecurityCache = v4;
LABEL_4:
LOBYTE(v3) = 1;
}
return(unsigned __int8)v3;
}Referenced by:
CmpValidateHiveSecurityDescriptors