diff --git a/reactos/base/services/eventlog/file.c b/reactos/base/services/eventlog/file.c index 75ba6946374..31793a055b4 100644 --- a/reactos/base/services/eventlog/file.c +++ b/reactos/base/services/eventlog/file.c @@ -979,6 +979,7 @@ BOOL LogfWriteData(PLOGFILE LogFile, DWORD BufSize, PBYTE Buffer) if (RecBuf->Reserved != LOGFILE_SIGNATURE) { DPRINT1("LogFile corrupt!\n"); + HeapFree(GetProcessHeap(), 0, RecBuf); RtlReleaseResource(&LogFile->Lock); return FALSE; } diff --git a/reactos/base/services/eventlog/rpc.c b/reactos/base/services/eventlog/rpc.c index faac4609161..b33a119c5e5 100644 --- a/reactos/base/services/eventlog/rpc.c +++ b/reactos/base/services/eventlog/rpc.c @@ -921,20 +921,22 @@ NTSTATUS ElfrReportEventA( } Done: - for (i = 0; i < NumStrings; i++) + if (StringsArrayW != NULL) { - if (StringsArrayW[i] != NULL) + for (i = 0; i < NumStrings; i++) { - if (StringsArrayW[i]->Buffer) + if (StringsArrayW[i] != NULL) { - RtlFreeUnicodeString(StringsArrayW[i]); - HeapFree(MyHeap, 0, StringsArrayW[i]); + if (StringsArrayW[i]->Buffer) + { + RtlFreeUnicodeString(StringsArrayW[i]); + HeapFree(MyHeap, 0, StringsArrayW[i]); + } } } - } - if (StringsArrayW != NULL) HeapFree(MyHeap, 0, StringsArrayW); + } RtlFreeUnicodeString(&ComputerNameW);