[NTOS:MM] Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and on...
[reactos.git] / ntoskrnl / ex / resource.c
index 1d33a45..1911ef1 100644 (file)
@@ -141,7 +141,7 @@ ExpCheckForApcsDisabled(IN KIRQL Irql,
         !(Thread->CombinedApcDisable))
     {
         /* Bad! */
-        DPRINT1("EX: resource: APCs still enabled before resource %p acquire "
+        DPRINT1("EX: resource: APCs still enabled before resource %p acquire/release "
                 "!!!\n", Resource);
         DbgBreakPoint();
     }
@@ -361,7 +361,7 @@ ExpExpandResourceOwnerTable(IN PERESOURCE Resource,
     else
     {
         /* Copy the table */
-        RtlCopyMemory(Table, Owner, OldSize * sizeof(OWNER_ENTRY));
+        if (Owner) RtlCopyMemory(Table, Owner, OldSize * sizeof(OWNER_ENTRY));
 
         /* Acquire dispatcher lock to prevent thread boosting */
         OldIrql = KiAcquireDispatcherLock();
@@ -656,7 +656,7 @@ ExpWaitForResource(IN PERESOURCE Resource,
             ExAcquireResourceLock(Resource, &LockHandle);
 
             /* Dump debug information */
-            DPRINT1("Resource @ %lx\n", Resource);
+            DPRINT1("Resource @ %p\n", Resource);
             DPRINT1(" ActiveEntries = %04lx  Flags = %s%s%s\n",
                     Resource->ActiveEntries,
                     IsOwnedExclusive(Resource) ? "IsOwnedExclusive " : "",
@@ -1817,7 +1817,7 @@ FASTCALL
 ExReleaseResourceLite(IN PERESOURCE Resource)
 {
     /* Just call the For-Thread function */
-    ExReleaseResourceForThreadLite(Resource, (ERESOURCE_THREAD)PsGetCurrentThread());
+    ExReleaseResourceForThreadLite(Resource, ExGetCurrentResourceThread());
 }
 
 /*++
@@ -1855,7 +1855,7 @@ ExReleaseResourceForThreadLite(IN PERESOURCE Resource,
 
     /* Sanity checks */
     ExpVerifyResource(Resource);
-    ExpCheckForApcsDisabled(LockHandle.OldIrql, Resource, (PKTHREAD)Thread);
+    ExpCheckForApcsDisabled(LockHandle.OldIrql, Resource, KeGetCurrentThread());
 
     /* Check if it's exclusively owned */
     if (IsOwnedExclusive(Resource))