- Add target process reference/dereference in ProcessWow64Information case of NtQueryInformationProcess.

- Check buffer length

svn path=/trunk/; revision=41466
This commit is contained in:
Dmitry Chapyshev 2009-06-19 08:49:01 +00:00
parent 1cdc856b9c
commit 97aea8189d

View file

@ -447,6 +447,29 @@ NtQueryInformationProcess(IN HANDLE ProcessHandle,
/* WOW64: Not implemented */
case ProcessWow64Information:
/* Set the return length */
Length = sizeof(ULONG_PTR);
if (ProcessInformationLength != Length)
{
Status = STATUS_INFO_LENGTH_MISMATCH;
break;
}
/* Reference the process */
Status = ObReferenceObjectByHandle(ProcessHandle,
PROCESS_QUERY_INFORMATION,
PsProcessType,
PreviousMode,
(PVOID*)&Process,
NULL);
if (!NT_SUCCESS(Status)) break;
DPRINT1("Not implemented: ProcessWow64Information\n");
/* Dereference the process */
ObDereferenceObject(Process);
Status = STATUS_NOT_IMPLEMENTED;
break;