diff --git a/reactos/dll/win32/ntmarta/ntmarta.c b/reactos/dll/win32/ntmarta/ntmarta.c index 5b38108584b..fa5dc0a6fb9 100644 --- a/reactos/dll/win32/ntmarta/ntmarta.c +++ b/reactos/dll/win32/ntmarta/ntmarta.c @@ -366,7 +366,10 @@ AccpLookupSidByName(IN LSA_HANDLE PolicyHandle, return LsaNtStatusToWinError(Status); if (TranslatedSid->Use == SidTypeUnknown || TranslatedSid->Use == SidTypeInvalid) - return LsaNtStatusToWinError(STATUS_NONE_MAPPED); /* FIXME- what error code? */ + { + Ret = LsaNtStatusToWinError(STATUS_NONE_MAPPED); /* FIXME- what error code? */ + goto Cleanup; + } SidLen = GetLengthSid(TranslatedSid->Sid); ASSERT(SidLen != 0); @@ -387,6 +390,7 @@ AccpLookupSidByName(IN LSA_HANDLE PolicyHandle, else Ret = ERROR_NOT_ENOUGH_MEMORY; +Cleanup: LsaFreeMemory(ReferencedDomains); LsaFreeMemory(TranslatedSid);