mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-27 11:53:32 +00:00
[NTOSKNRL]
Misc fixes in NtQueryDirectoryFile(): - Don't leak auxbuffer - Don't allow two completion routines svn path=/trunk/; revision=74451
This commit is contained in:
@@ -1901,6 +1901,14 @@ NtQueryDirectoryFile(IN HANDLE FileHandle,
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Are there two associated completion routines? */
|
||||
if (FileObject->CompletionContext != NULL && ApcRoutine != NULL)
|
||||
{
|
||||
ObDereferenceObject(FileObject);
|
||||
if (AuxBuffer) ExFreePoolWithTag(AuxBuffer, TAG_SYSB);
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
/* Check if we have an even handle */
|
||||
if (EventHandle)
|
||||
{
|
||||
@@ -1914,6 +1922,7 @@ NtQueryDirectoryFile(IN HANDLE FileHandle,
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
/* Fail */
|
||||
if (AuxBuffer) ExFreePoolWithTag(AuxBuffer, TAG_SYSB);
|
||||
ObDereferenceObject(FileObject);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user