if (!NT_SUCCESS(Status))
{
ERR("ZwQueryDirectoryObject failed\n");
- ObDereferenceObject(DirectoryHandle);
+ ZwClose(DirectoryHandle);
return Status;
}
Buffer = ExAllocatePoolWithTag(PagedPool, BufferSize, TAG_WINSTA);
if (NULL == Buffer)
{
- ObDereferenceObject(DirectoryHandle);
+ ZwClose(DirectoryHandle);
return STATUS_NO_MEMORY;
}
{
/* Something went wrong, maybe someone added a directory entry? Just give up. */
ExFreePoolWithTag(Buffer, TAG_WINSTA);
- ObDereferenceObject(DirectoryHandle);
+ ZwClose(DirectoryHandle);
return NT_SUCCESS(Status) ? STATUS_INTERNAL_ERROR : Status;
}
}