mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +00:00
- Free memory at initialization failure
svn path=/trunk/; revision=42981
This commit is contained in:
parent
8954edb33c
commit
631c081835
|
@ -56,6 +56,40 @@ PSID SeAnonymousLogonSid = NULL;
|
|||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FreeInitializedSids(VOID)
|
||||
{
|
||||
if (SeNullSid) ExFreePool(SeNullSid);
|
||||
if (SeWorldSid) ExFreePool(SeWorldSid);
|
||||
if (SeLocalSid) ExFreePool(SeLocalSid);
|
||||
if (SeCreatorOwnerSid) ExFreePool(SeCreatorOwnerSid);
|
||||
if (SeCreatorGroupSid) ExFreePool(SeCreatorGroupSid);
|
||||
if (SeCreatorOwnerServerSid) ExFreePool(SeCreatorOwnerServerSid);
|
||||
if (SeCreatorGroupServerSid) ExFreePool(SeCreatorGroupServerSid);
|
||||
if (SeNtAuthoritySid) ExFreePool(SeNtAuthoritySid);
|
||||
if (SeDialupSid) ExFreePool(SeDialupSid);
|
||||
if (SeNetworkSid) ExFreePool(SeNetworkSid);
|
||||
if (SeBatchSid) ExFreePool(SeBatchSid);
|
||||
if (SeInteractiveSid) ExFreePool(SeInteractiveSid);
|
||||
if (SeServiceSid) ExFreePool(SeServiceSid);
|
||||
if (SePrincipalSelfSid) ExFreePool(SePrincipalSelfSid);
|
||||
if (SeLocalSystemSid) ExFreePool(SeLocalSystemSid);
|
||||
if (SeAuthenticatedUserSid) ExFreePool(SeAuthenticatedUserSid);
|
||||
if (SeRestrictedCodeSid) ExFreePool(SeRestrictedCodeSid);
|
||||
if (SeAliasAdminsSid) ExFreePool(SeAliasAdminsSid);
|
||||
if (SeAliasUsersSid) ExFreePool(SeAliasUsersSid);
|
||||
if (SeAliasGuestsSid) ExFreePool(SeAliasGuestsSid);
|
||||
if (SeAliasPowerUsersSid) ExFreePool(SeAliasPowerUsersSid);
|
||||
if (SeAliasAccountOpsSid) ExFreePool(SeAliasAccountOpsSid);
|
||||
if (SeAliasSystemOpsSid) ExFreePool(SeAliasSystemOpsSid);
|
||||
if (SeAliasPrintOpsSid) ExFreePool(SeAliasPrintOpsSid);
|
||||
if (SeAliasBackupOpsSid) ExFreePool(SeAliasBackupOpsSid);
|
||||
if (SeAuthenticatedUsersSid) ExFreePool(SeAuthenticatedUsersSid);
|
||||
if (SeRestrictedSid) ExFreePool(SeRestrictedSid);
|
||||
if (SeAnonymousLogonSid) ExFreePool(SeAnonymousLogonSid);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
INIT_FUNCTION
|
||||
NTAPI
|
||||
|
@ -99,7 +133,7 @@ SepInitSecurityIDs(VOID)
|
|||
SeAuthenticatedUsersSid = ExAllocatePoolWithTag(PagedPool, SidLength1, TAG_SID);
|
||||
SeRestrictedSid = ExAllocatePoolWithTag(PagedPool, SidLength1, TAG_SID);
|
||||
SeAnonymousLogonSid = ExAllocatePoolWithTag(PagedPool, SidLength1, TAG_SID);
|
||||
|
||||
|
||||
if (SeNullSid == NULL || SeWorldSid == NULL ||
|
||||
SeLocalSid == NULL || SeCreatorOwnerSid == NULL ||
|
||||
SeCreatorGroupSid == NULL || SeCreatorOwnerServerSid == NULL ||
|
||||
|
@ -115,7 +149,7 @@ SepInitSecurityIDs(VOID)
|
|||
SeAuthenticatedUsersSid == NULL || SeRestrictedSid == NULL ||
|
||||
SeAnonymousLogonSid == NULL)
|
||||
{
|
||||
/* FIXME: We're leaking memory here. */
|
||||
FreeInitializedSids();
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue