[EVENTLOG]

- Fix memory leak
- Fix null pointer dereference

CID #515253
CID #716316

svn path=/trunk/; revision=62647
This commit is contained in:
Pierre Schweitzer 2014-04-06 12:35:54 +00:00
parent e37f56bfbb
commit ad8c33fa00
2 changed files with 10 additions and 7 deletions

View file

@ -979,6 +979,7 @@ BOOL LogfWriteData(PLOGFILE LogFile, DWORD BufSize, PBYTE Buffer)
if (RecBuf->Reserved != LOGFILE_SIGNATURE) if (RecBuf->Reserved != LOGFILE_SIGNATURE)
{ {
DPRINT1("LogFile corrupt!\n"); DPRINT1("LogFile corrupt!\n");
HeapFree(GetProcessHeap(), 0, RecBuf);
RtlReleaseResource(&LogFile->Lock); RtlReleaseResource(&LogFile->Lock);
return FALSE; return FALSE;
} }

View file

@ -921,20 +921,22 @@ NTSTATUS ElfrReportEventA(
} }
Done: 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]); if (StringsArrayW[i]->Buffer)
HeapFree(MyHeap, 0, StringsArrayW[i]); {
RtlFreeUnicodeString(StringsArrayW[i]);
HeapFree(MyHeap, 0, StringsArrayW[i]);
}
} }
} }
}
if (StringsArrayW != NULL)
HeapFree(MyHeap, 0, StringsArrayW); HeapFree(MyHeap, 0, StringsArrayW);
}
RtlFreeUnicodeString(&ComputerNameW); RtlFreeUnicodeString(&ComputerNameW);