it's valid to pass lpTargetHandle = NULL to DuplicateHandle()

svn path=/trunk/; revision=14978
This commit is contained in:
Thomas Bluemel 2005-05-04 21:23:13 +00:00
parent 600cfcc505
commit 6a0f65e223

View file

@ -347,7 +347,7 @@ NTSTATUS STDCALL
NtDuplicateObject (IN HANDLE SourceProcessHandle,
IN HANDLE SourceHandle,
IN HANDLE TargetProcessHandle,
OUT PHANDLE TargetHandle,
OUT PHANDLE TargetHandle OPTIONAL,
IN ACCESS_MASK DesiredAccess,
IN BOOLEAN InheritHandle,
ULONG Options)
@ -386,7 +386,7 @@ NtDuplicateObject (IN HANDLE SourceProcessHandle,
PreviousMode = ExGetPreviousMode();
if(PreviousMode != KernelMode)
if(TargetHandle != NULL && PreviousMode != KernelMode)
{
_SEH_TRY
{
@ -488,7 +488,7 @@ NtDuplicateObject (IN HANDLE SourceProcessHandle,
ObDereferenceObject(TargetProcess);
ObDereferenceObject(SourceProcess);
if(NT_SUCCESS(Status))
if(NT_SUCCESS(Status) && TargetHandle != NULL)
{
_SEH_TRY
{