diff --git a/reactos/ntoskrnl/ke/clock.c b/reactos/ntoskrnl/ke/clock.c index 14a5cdf18fa..3fea5e0c2f6 100644 --- a/reactos/ntoskrnl/ke/clock.c +++ b/reactos/ntoskrnl/ke/clock.c @@ -261,7 +261,7 @@ KeUpdateRunTime(IN PKTRAP_FRAME TrapFrame, { /* Update user times */ CurrentThread->UserTime++; - InterlockedIncrement(&CurrentProcess->UserTime); + InterlockedIncrement((PLONG)&CurrentProcess->UserTime); Prcb->UserTime++; } else @@ -276,7 +276,7 @@ KeUpdateRunTime(IN PKTRAP_FRAME TrapFrame, { /* This was normal kernel time */ CurrentThread->KernelTime++; - InterlockedIncrement(&CurrentProcess->KernelTime); + InterlockedIncrement((PLONG)&CurrentProcess->KernelTime); } else if (Irql == DISPATCH_LEVEL) { diff --git a/reactos/ntoskrnl/ob/obref.c b/reactos/ntoskrnl/ob/obref.c index 99083b4859e..647ad280bf8 100644 --- a/reactos/ntoskrnl/ob/obref.c +++ b/reactos/ntoskrnl/ob/obref.c @@ -224,7 +224,7 @@ ObFastReplaceObject(IN PEX_FAST_REF FastRef, } /* Switch objects */ - OldRef.Value = InterlockedExchange(&FastRef->Value, NewValue); + OldRef.Value = InterlockedExchange((PLONG)&FastRef->Value, NewValue); OldObject = (PVOID)((ULONG_PTR)OldRef.Object &~ MAX_FAST_REFS); if ((OldObject) && (OldRef.RefCnt)) { diff --git a/reactos/ntoskrnl/ob/obwait.c b/reactos/ntoskrnl/ob/obwait.c index df03927f32a..7443928612f 100644 --- a/reactos/ntoskrnl/ob/obwait.c +++ b/reactos/ntoskrnl/ob/obwait.c @@ -477,6 +477,7 @@ NtSignalAndWaitForSingleObject(IN HANDLE ObjectHandleToSignal, !(HandleInfo.GrantedAccess & EVENT_MODIFY_STATE)) { /* Fail: lack of rights */ + Status = STATUS_ACCESS_DENIED; goto Quickie; } @@ -505,6 +506,7 @@ NtSignalAndWaitForSingleObject(IN HANDLE ObjectHandleToSignal, !(HandleInfo.GrantedAccess & SEMAPHORE_MODIFY_STATE)) { /* Fail: lack of rights */ + Status = STATUS_ACCESS_DENIED; goto Quickie; }