[ros-diffs] [tkreuzer] 34986: - fix usage of InterlockedExchangePointer - some ULONG / SIZE_T fixes - pushlocks have a union with a PVOID and an ULONG, use them instead of typecasting - use InterlockedAndPointer for a pushlock

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Fri Aug 1 01:01:51 CEST 2008


Author: tkreuzer
Date: Thu Jul 31 18:01:51 2008
New Revision: 34986

URL: http://svn.reactos.org/svn/reactos?rev=34986&view=rev
Log:
- fix usage of InterlockedExchangePointer
- some ULONG / SIZE_T fixes
- pushlocks have a union with a PVOID and an ULONG, use them instead of typecasting
- use InterlockedAndPointer for a pushlock

Modified:
    branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmkcbncb.c
    branches/ros-amd64-bringup/reactos/ntoskrnl/ex/handle.c
    branches/ros-amd64-bringup/reactos/ntoskrnl/ex/init.c
    branches/ros-amd64-bringup/reactos/ntoskrnl/ex/pushlock.c
    branches/ros-amd64-bringup/reactos/ntoskrnl/kdbg/kdb.c
    branches/ros-amd64-bringup/reactos/ntoskrnl/se/audit.c
    branches/ros-amd64-bringup/reactos/ntoskrnl/se/lsa.c

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmkcbncb.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmkcbncb.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmkcbncb.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmkcbncb.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -903,7 +903,7 @@
     for (i = 0; i < 4; i++)
     {
         /* Add it into the list */
-        if (!InterlockedCompareExchangePointer(&KeyBody->KeyControlBlock->
+        if (!InterlockedCompareExchangePointer((PVOID*)&KeyBody->KeyControlBlock->
                                                KeyBodyArray[i],
                                                KeyBody,
                                                NULL))
@@ -959,7 +959,7 @@
     for (i = 0; i < 4; i++)
     {
         /* Add it into the list */
-        if (InterlockedCompareExchangePointer(&KeyBody->KeyControlBlock->
+        if (InterlockedCompareExchangePointer((VOID*)&KeyBody->KeyControlBlock->
                                               KeyBodyArray[i],
                                               NULL,
                                               KeyBody) == KeyBody)

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ex/handle.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/ex/handle.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/ex/handle.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/ex/handle.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -516,7 +516,7 @@
 
         /* Write the new level and attempt to change the table code */
         TableBase = ((ULONG_PTR)Mid) | 1;
-        Value = InterlockedExchangePointer(&HandleTable->TableCode, TableBase);
+        Value = InterlockedExchangePointer((PVOID*)&HandleTable->TableCode, (PVOID)TableBase);
     }
     else if (TableLevel == 1)
     {
@@ -533,7 +533,7 @@
             if (!Low) return FALSE;
 
             /* Update the table */
-            Value = InterlockedExchangePointer(&SecondLevel[i], Low);
+            Value = InterlockedExchangePointer((PVOID*)&SecondLevel[i], Low);
             ASSERT(Value == NULL);
         }
         else
@@ -560,7 +560,7 @@
 
             /* Write the new table and change the table code */
             TableBase = ((ULONG_PTR)High) | 2;
-            Value = InterlockedExchangePointer(&HandleTable->TableCode,
+            Value = InterlockedExchangePointer((PVOID*)&HandleTable->TableCode,
                                                (PVOID)TableBase);
         }
     }
@@ -581,7 +581,7 @@
             if (!Mid) return FALSE;
 
             /* Update the table pointer */
-            Value = InterlockedExchangePointer(&ThirdLevel[i], Mid);
+            Value = InterlockedExchangePointer((PVOID*)&ThirdLevel[i], Mid);
             ASSERT(Value == NULL);
         }
         else
@@ -596,7 +596,7 @@
             if (!Low) return FALSE;
 
             /* Update the table pointer */
-            Value = InterlockedExchangePointer(&ThirdLevel[i][j], Low);
+            Value = InterlockedExchangePointer((PVOID*)&ThirdLevel[i][j], Low);
             ASSERT(Value == NULL);
         }
     }
@@ -886,8 +886,8 @@
             /* It's not locked, remove the lock bit to lock it */
             NewValue = OldValue & ~EXHANDLE_TABLE_ENTRY_LOCK_BIT;
             if (InterlockedCompareExchangePointer(&HandleTableEntry->Object,
-                                                  NewValue,
-                                                  OldValue) == (PVOID)OldValue)
+                                                  (PVOID)NewValue,
+                                                  (PVOID)OldValue) == (PVOID)OldValue)
             {
                 /* We locked it, get out */
                 return TRUE;
@@ -1010,7 +1010,7 @@
     }
 
     /* Clear the handle */
-    Object = InterlockedExchangePointer(&HandleTableEntry->Object, NULL);
+    Object = InterlockedExchangePointer((PVOID*)&HandleTableEntry->Object, NULL);
 
     /* Sanity checks */
     ASSERT(Object != NULL);

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ex/init.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/ex/init.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/ex/init.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/ex/init.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -68,7 +68,7 @@
 ULONG ExpAnsiCodePageDataOffset, ExpOemCodePageDataOffset;
 ULONG ExpUnicodeCaseTableDataOffset;
 NLSTABLEINFO ExpNlsTableInfo;
-ULONG ExpNlsTableSize;
+SIZE_T ExpNlsTableSize;
 PVOID ExpNlsSectionPointer;
 
 /* CMOS Timer Sanity */
@@ -196,7 +196,7 @@
     NTSTATUS Status;
     HANDLE NlsSection;
     PVOID SectionBase = NULL;
-    ULONG ViewSize = 0;
+    SIZE_T ViewSize = 0;
     LARGE_INTEGER SectionOffset = {{0}};
     PLIST_ENTRY ListHead, NextEntry;
     PMEMORY_ALLOCATION_DESCRIPTOR MdBlock;
@@ -369,7 +369,7 @@
                       OUT PCHAR *ProcessEnvironment)
 {
     NTSTATUS Status;
-    ULONG Size;
+    SIZE_T Size;
     PWSTR p;
     UNICODE_STRING NullString = RTL_CONSTANT_STRING(L"");
     UNICODE_STRING SmssName, Environment, SystemDriveString, DebugString;
@@ -829,7 +829,7 @@
     PLDR_DATA_TABLE_ENTRY NtosEntry;
     PRTL_MESSAGE_RESOURCE_ENTRY MsgEntry;
     ANSI_STRING CsdString;
-    ULONG Remaining = 0;
+    SIZE_T Remaining = 0;
     PCHAR RcEnd = NULL;
     CHAR VersionBuffer [65];
 
@@ -1258,7 +1258,8 @@
     PCHAR StringBuffer, EndBuffer, BeginBuffer, MpString = "";
     PINIT_BUFFER InitBuffer;
     ANSI_STRING TempString;
-    ULONG LastTzBias, Size, Length, YearHack = 0, Disposition, MessageCode = 0;
+    ULONG LastTzBias, Size, YearHack = 0, Disposition, MessageCode = 0;
+    SIZE_T Length;
     PRTL_USER_PROCESS_INFORMATION ProcessInfo;
     KEY_VALUE_PARTIAL_INFORMATION KeyPartialInfo;
     UNICODE_STRING KeyName, DebugString;
@@ -1738,7 +1739,7 @@
                                          KeyValuePartialInformation,
                                          &KeyPartialInfo,
                                          sizeof(KeyPartialInfo),
-                                         &Length);
+                                         &Size);
                 if (!NT_SUCCESS(Status)) AlternateShell = FALSE;
             }
 
@@ -1890,17 +1891,17 @@
     ZwClose(ProcessInfo->ProcessHandle);
 
     /* Free the initial process environment */
-    Size = 0;
+    Length = 0;
     ZwFreeVirtualMemory(NtCurrentProcess(),
                         (PVOID*)&Environment,
-                        &Size,
+                        &Length,
                         MEM_RELEASE);
 
     /* Free the initial process parameters */
-    Size = 0;
+    Length = 0;
     ZwFreeVirtualMemory(NtCurrentProcess(),
                         (PVOID*)&ProcessParameters,
-                        &Size,
+                        &Length,
                         MEM_RELEASE);
 
     /* Increase init phase */

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ex/pushlock.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/ex/pushlock.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/ex/pushlock.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/ex/pushlock.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -19,6 +19,12 @@
 #undef PEX_PUSH_LOCK
 
 /* PRIVATE FUNCTIONS *********************************************************/
+
+#ifdef _WIN64
+#define InterlockedAndPointer(ptr,val) InterlockedAnd64((PLONGLONG)ptr,(LONGLONG)val)
+#else
+#define InterlockedAndPointer(ptr,val) InterlockedAnd((PLONG)ptr,(LONG)val)
+#endif
 
 /*++
  * @name ExpInitializePushLocks
@@ -87,7 +93,7 @@
             ASSERT(NewValue.Waiting);
 
             /* Write the New Value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value == OldValue.Value) return;
@@ -97,7 +103,7 @@
         }
 
         /* Save the First Block */
-        FirstWaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)((ULONG_PTR)OldValue.Ptr &
+        FirstWaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)(OldValue.Value &
                           ~EX_PUSH_LOCK_PTR_BITS);
         WaitBlock = FirstWaitBlock;
 
@@ -135,7 +141,7 @@
             ASSERT(!NewValue.Waking);
 
             /* Write the New Value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value == OldValue.Value) break;
@@ -154,7 +160,7 @@
             ASSERT(PushLock->Waiting);
 
             /* Remove waking bit from pushlock */
-            InterlockedAnd((PLONG)PushLock, ~EX_PUSH_LOCK_WAKING);
+            InterlockedAndPointer(&PushLock->Value, ~EX_PUSH_LOCK_WAKING);
 
             /* Leave the loop */
             break;
@@ -236,7 +242,7 @@
         }
         
         /* Get the wait block */
-        WaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)((ULONG_PTR)OldValue.Ptr &
+        WaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)(OldValue.Value &
                                                ~EX_PUSH_LOCK_PTR_BITS);
         
         /* Loop the blocks */
@@ -270,7 +276,7 @@
         ASSERT(!NewValue.Waking);
         
         /* Update the value */
-        NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+        NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                          NewValue.Ptr,
                                                          OldValue.Ptr);
         
@@ -477,7 +483,7 @@
             ASSERT(NewValue.Locked);
 
             /* Set the new value */
-            if (InterlockedCompareExchangePointer(PushLock,
+            if (InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                   NewValue.Ptr,
                                                   OldValue.Ptr) != OldValue.Ptr)
             {
@@ -507,8 +513,8 @@
                 WaitBlock->ShareCount = 0;
 
                 /* Set the current Wait Block pointer */
-                WaitBlock->Next = (PEX_PUSH_LOCK_WAIT_BLOCK)((ULONG_PTR)
-                                   OldValue.Ptr &~ EX_PUSH_LOCK_PTR_BITS);
+                WaitBlock->Next = (PEX_PUSH_LOCK_WAIT_BLOCK)(
+                                   OldValue.Value &~ EX_PUSH_LOCK_PTR_BITS);
 
                 /* Point to ours */
                 NewValue.Value = (OldValue.Value & EX_PUSH_LOCK_MULTIPLE_SHARED) |
@@ -563,7 +569,7 @@
 
             /* Write the new value */
             TempValue = NewValue;
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value != OldValue.Value)
@@ -655,7 +661,7 @@
             ASSERT(NewValue.Locked);
 
             /* Set the new value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value != OldValue.Value)
@@ -680,8 +686,8 @@
             if (OldValue.Waiting)
             {
                 /* Set the current Wait Block pointer */
-                WaitBlock->Next = (PEX_PUSH_LOCK_WAIT_BLOCK)((ULONG_PTR)
-                                   OldValue.Ptr &~ EX_PUSH_LOCK_PTR_BITS);
+                WaitBlock->Next = (PEX_PUSH_LOCK_WAIT_BLOCK)(
+                                   OldValue.Value &~ EX_PUSH_LOCK_PTR_BITS);
 
                 /* Nobody is the last waiter yet */
                 WaitBlock->Last = NULL;
@@ -719,7 +725,7 @@
 #endif
 
             /* Write the new value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Ptr != OldValue.Ptr)
@@ -810,7 +816,7 @@
             }
 
             /* Write the New Value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value == OldValue.Value) return;
@@ -824,7 +830,7 @@
             if (OldValue.MultipleShared)
             {
                 /* Get the wait block */
-                WaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)((ULONG_PTR)OldValue.Ptr &
+                WaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)(OldValue.Value &
                                                        ~EX_PUSH_LOCK_PTR_BITS);
                 
                 /* Loop until we find the last wait block */
@@ -877,7 +883,7 @@
                     ASSERT(NewValue.Waking && !NewValue.Locked && !NewValue.MultipleShared);
                     
                     /* Write the new value */
-                    NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+                    NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                                      NewValue.Ptr,
                                                                      OldValue.Ptr);
                     if (NewValue.Value == OldValue.Value) return;
@@ -897,7 +903,7 @@
                     
                     /* Write the new value */
                     WakeValue = NewValue;
-                    NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+                    NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                                      NewValue.Ptr,
                                                                      OldValue.Ptr);
                     if (NewValue.Value != OldValue.Value) continue;
@@ -950,7 +956,7 @@
         }
 
         /* Write the New Value */
-        NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+        NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                          NewValue.Ptr,
                                                          OldValue.Ptr);
         if (NewValue.Value == OldValue.Value) return;
@@ -963,7 +969,7 @@
     if (OldValue.MultipleShared)
     {
         /* Get the wait block */
-        WaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)((ULONG_PTR)OldValue.Ptr &
+        WaitBlock = (PEX_PUSH_LOCK_WAIT_BLOCK)(OldValue.Value &
                                                ~EX_PUSH_LOCK_PTR_BITS);
         
         /* Loop until we find the last wait block */
@@ -1013,7 +1019,7 @@
             ASSERT(NewValue.Waking && !NewValue.Locked && !NewValue.MultipleShared);
 
             /* Write the new value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value == OldValue.Value) return;
@@ -1033,7 +1039,7 @@
 
             /* Write the new value */
             WakeValue = NewValue;
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
             if (NewValue.Value != OldValue.Value) continue;
@@ -1087,7 +1093,7 @@
 
             /* Write the New Value. Save our original value for waking */
             WakeValue = NewValue;
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
 
@@ -1108,7 +1114,7 @@
             ASSERT(NewValue.Waking && !NewValue.Waiting);
 
             /* Write the New Value */
-            NewValue.Ptr = InterlockedCompareExchangePointer(PushLock,
+            NewValue.Ptr = InterlockedCompareExchangePointer(&PushLock->Ptr,
                                                              NewValue.Ptr,
                                                              OldValue.Ptr);
 
@@ -1152,7 +1158,7 @@
     NewValue.Waking = TRUE;
     
     /* Write the New Value */
-    if (InterlockedCompareExchangePointer(PushLock,
+    if (InterlockedCompareExchangePointer(&PushLock->Ptr,
                                           NewValue.Ptr,
                                           OldValue.Ptr) == OldValue.Ptr)
     {

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/kdbg/kdb.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/kdbg/kdb.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/kdbg/kdb.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/kdbg/kdb.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -201,6 +201,7 @@
 
    RtlZeroMemory(KdbTrapFrame, sizeof(KDB_KTRAP_FRAME));
    StackPtr = (ULONG_PTR *) KernelStack;
+#if _M_X86_
    KdbTrapFrame->Tf.Ebp = StackPtr[3];
    KdbTrapFrame->Tf.Edi = StackPtr[4];
    KdbTrapFrame->Tf.Esi = StackPtr[5];
@@ -212,6 +213,7 @@
    KdbTrapFrame->Tf.SegDs = KGDT_R0_DATA;
    KdbTrapFrame->Tf.SegEs = KGDT_R0_DATA;
    KdbTrapFrame->Tf.SegGs = KGDT_R0_DATA;
+#endif
 
    /* FIXME: what about the other registers??? */
 }
@@ -405,7 +407,7 @@
    }
 
    /* Get the interrupt descriptor */
-   if (!NT_SUCCESS(KdbpSafeReadMemory(IntDesc, (PVOID)(Idtr.Base + (IntVect * 8)), sizeof (IntDesc))))
+   if (!NT_SUCCESS(KdbpSafeReadMemory(IntDesc, (PVOID)(ULONG_PTR)(Idtr.Base + (IntVect * 8)), sizeof (IntDesc))))
    {
       /*KdbpPrint("Couldn't access memory at 0x%p\n", (ULONG_PTR)Idtr.Base + (IntVect * 8));*/
       return FALSE;
@@ -1073,7 +1075,7 @@
    /* Get a pointer to the thread */
    if (!NT_SUCCESS(PsLookupThreadByThreadId(ThreadId, &Thread)))
    {
-      KdbpPrint("Invalid thread id: 0x%08x\n", (ULONG)ThreadId);
+      KdbpPrint("Invalid thread id: 0x%08x\n", (ULONG_PTR)ThreadId);
       return FALSE;
    }
    Process = Thread->ThreadsProcess;
@@ -1152,14 +1154,14 @@
    /* Get a pointer to the process */
    if (!NT_SUCCESS(PsLookupProcessByProcessId(ProcessId, &Process)))
    {
-      KdbpPrint("Invalid process id: 0x%08x\n", (ULONG)ProcessId);
+      KdbpPrint("Invalid process id: 0x%08x\n", (ULONG_PTR)ProcessId);
       return FALSE;
    }
 
    Entry = Process->ThreadListHead.Flink;
    if (Entry == &KdbCurrentProcess->ThreadListHead)
    {
-      KdbpPrint("No threads in process 0x%08x, cannot attach to process!\n", (ULONG)ProcessId);
+      KdbpPrint("No threads in process 0x%p, cannot attach to process!\n", ProcessId);
       return FALSE;
    }
 
@@ -1200,7 +1202,7 @@
    SavedStackLimit = Thread->Tcb.StackLimit;
    SavedKernelStack = Thread->Tcb.KernelStack;
    Thread->Tcb.InitialStack = Thread->Tcb.StackBase = (char*)KdbStack + KDB_STACK_SIZE;
-   Thread->Tcb.StackLimit = (ULONG)KdbStack;
+   Thread->Tcb.StackLimit = (ULONG_PTR)KdbStack;
    Thread->Tcb.KernelStack = (char*)KdbStack + KDB_STACK_SIZE;
 
    /*KdbpPrint("Switching to KDB stack 0x%08x-0x%08x\n", Thread->Tcb.StackLimit, Thread->Tcb.StackBase);*/
@@ -1613,7 +1615,7 @@
       TrapFrame->Dr6 &= ~0x0000e00f;
 
       /* Skip the current instruction */
-      Context->Eip++;
+//      Context->Eip++;
    }
 
    return ContinueType;

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/se/audit.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/se/audit.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/se/audit.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/se/audit.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -137,7 +137,7 @@
         if (NT_SUCCESS(Status))
         {
             /* Set it */
-            if (InterlockedCompareExchangePointer(&Process->
+            if (InterlockedCompareExchangePointer((PVOID*)&Process->
                                                   SeAuditProcessCreationInfo,
                                                   AuditName,
                                                   NULL))

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/se/lsa.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/se/lsa.c?rev=34986&r1=34985&r2=34986&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/se/lsa.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/se/lsa.c [iso-8859-1] Thu Jul 31 18:01:51 2008
@@ -49,7 +49,7 @@
 NTAPI
 LsaFreeReturnBuffer(PVOID Buffer)
 {
-    ULONG Size = 0;
+    SIZE_T Size = 0;
     return ZwFreeVirtualMemory(NtCurrentProcess(),
                                &Buffer,
                                &Size,



More information about the Ros-diffs mailing list