In ObOpenObjectByPointer, always pass right mapping to SeCreateAccessState, instead...
authorHervé Poussineau <hpoussin@reactos.org>
Fri, 30 Jun 2006 21:34:53 +0000 (21:34 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Fri, 30 Jun 2006 21:34:53 +0000 (21:34 +0000)
svn path=/trunk/; revision=22728

reactos/ntoskrnl/ob/obhandle.c

index 11497b3..ce4adff 100644 (file)
@@ -1612,11 +1612,15 @@ ObOpenObjectByPointer(IN PVOID Object,
                       IN KPROCESSOR_MODE AccessMode,
                       OUT PHANDLE Handle)
 {
+    POBJECT_HEADER Header;
     NTSTATUS Status;
     ACCESS_STATE AccessState;
     AUX_DATA AuxData;
     PAGED_CODE();
 
+    /* Get the Header Info */
+    Header = OBJECT_TO_OBJECT_HEADER(Object);
+
     /* Reference the object */
     Status = ObReferenceObjectByPointer(Object,
                                         0,
@@ -1632,7 +1636,7 @@ ObOpenObjectByPointer(IN PVOID Object,
         Status = SeCreateAccessState(&AccessState,
                                      &AuxData,
                                      DesiredAccess,
-                                     &ObjectType->TypeInfo.GenericMapping);
+                                     &Header->Type->TypeInfo.GenericMapping);
         if (!NT_SUCCESS(Status))
         {
             /* Fail */