[NTOS:MM] Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and on...
[reactos.git] / ntoskrnl / ex / mutant.c
index 73495eb..fb3dd1f 100644 (file)
@@ -69,6 +69,7 @@ ExpInitializeMutantImplementation(VOID)
     ObjectTypeInitializer.PoolType = NonPagedPool;
     ObjectTypeInitializer.DeleteProcedure = ExpDeleteMutant;
     ObjectTypeInitializer.ValidAccessMask = MUTANT_ALL_ACCESS;
+    ObjectTypeInitializer.InvalidAttributes = OBJ_OPENLINK;
     Status = ObCreateObjectType(&Name, &ObjectTypeInitializer, NULL, &ExMutantObjectType);
     if (!NT_SUCCESS(Status)) return FALSE;
     return TRUE;
@@ -123,7 +124,7 @@ NtCreateMutant(OUT PHANDLE MutantHandle,
     /* Check for success */
     if(NT_SUCCESS(Status))
     {
-        /* Initalize the Kernel Mutant */
+        /* Initialize the Kernel Mutant */
         DPRINT("Initializing the Mutant\n");
         KeInitializeMutant(Mutant, InitialOwner);
 
@@ -325,7 +326,7 @@ NtReleaseMutant(IN HANDLE MutantHandle,
 
     /* Open the Object */
     Status = ObReferenceObjectByHandle(MutantHandle,
-                                       MUTANT_QUERY_STATE,
+                                       0, /* No access rights required */
                                        ExMutantObjectType,
                                        PreviousMode,
                                        (PVOID*)&Mutant,