fix returning the new token handle in DuplicateTokenEx
authorThomas Bluemel <thomas@reactsoft.com>
Fri, 28 Oct 2005 14:31:38 +0000 (14:31 +0000)
committerThomas Bluemel <thomas@reactsoft.com>
Fri, 28 Oct 2005 14:31:38 +0000 (14:31 +0000)
svn path=/trunk/; revision=18833

reactos/lib/advapi32/token/token.c

index a18996e..df55c4d 100644 (file)
@@ -258,7 +258,6 @@ DuplicateTokenEx (IN HANDLE ExistingTokenHandle,
                   OUT PHANDLE DuplicateTokenHandle)
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
-  HANDLE NewToken;
   NTSTATUS Status;
   SECURITY_QUALITY_OF_SERVICE Sqos;
 
@@ -291,7 +290,7 @@ DuplicateTokenEx (IN HANDLE ExistingTokenHandle,
                             &ObjectAttributes,
                             FALSE,
                             TokenType,
-                            &NewToken);
+                            DuplicateTokenHandle);
   if (!NT_SUCCESS(Status))
     {
       SetLastError(RtlNtStatusToDosError(Status));
@@ -344,7 +343,7 @@ CheckTokenMembership(IN HANDLE ExistingTokenHandle,
     };
     PACL Dacl;
     ULONG SidLen;
-    HANDLE hToken;
+    HANDLE hToken = NULL;
     NTSTATUS Status, AccessStatus;
 
     /* doesn't return gracefully if IsMember is NULL! */
@@ -484,7 +483,7 @@ CheckTokenMembership(IN HANDLE ExistingTokenHandle,
     }
 
 Cleanup:
-    if (hToken != ExistingTokenHandle)
+    if (hToken != NULL && hToken != ExistingTokenHandle)
     {
         NtClose(hToken);
     }