Author: dchapyshev Date: Fri Jun 19 12:49:01 2009 New Revision: 41466
URL: http://svn.reactos.org/svn/reactos?rev=41466&view=rev Log: - Add target process reference/dereference in ProcessWow64Information case of NtQueryInformationProcess. - Check buffer length
Modified: trunk/reactos/ntoskrnl/ps/query.c
Modified: trunk/reactos/ntoskrnl/ps/query.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/query.c?rev=414... ============================================================================== --- trunk/reactos/ntoskrnl/ps/query.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ps/query.c [iso-8859-1] Fri Jun 19 12:49:01 2009 @@ -447,6 +447,29 @@
/* 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;