[CSRSRV]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Tue, 13 Nov 2012 21:08:19 +0000 (21:08 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Tue, 13 Nov 2012 21:08:19 +0000 (21:08 +0000)
- Use a variable ServerDll instead of using each time CsrLoadedServerDll[i], as it is done in some other places.
- Clean the code (remove extra-parentheses).
- Zero-out the memory buffer allocated for CsrSrvSharedStaticServerData.

svn path=/branches/ros-csrss/; revision=57701

subsystems/win32/csrsrv/init.c
subsystems/win32/csrsrv/procsup.c
subsystems/win32/csrsrv/server.c
subsystems/win32/csrsrv/session.c

index 2c123b6..71f1e6c 100644 (file)
@@ -54,7 +54,7 @@ CallHardError(IN PCSR_THREAD ThreadData,
         ServerDll = CsrLoadedServerDll[i];
 
         /* Make sure it's valid and that it has callback */
-        if ((ServerDll) && (ServerDll->HardErrorCallback))
+        if (ServerDll && ServerDll->HardErrorCallback)
         {
             ServerDll->HardErrorCallback(ThreadData, HardErrorMessage);
         }
index 25e37db..8fb76e1 100644 (file)
@@ -437,7 +437,7 @@ CsrRemoveProcess(IN PCSR_PROCESS CsrProcess)
         ServerDll = CsrLoadedServerDll[i];
 
         /* Check if it's valid and if it has a Disconnect Callback */
-        if ((ServerDll) && (ServerDll->DisconnectCallback))
+        if (ServerDll && ServerDll->DisconnectCallback)
         {
             /* Call it */
             ServerDll->DisconnectCallback(CsrProcess);
@@ -530,6 +530,7 @@ CsrCreateProcess(IN HANDLE hProcess,
     PCSR_THREAD CurrentThread = CsrGetClientThread();
     CLIENT_ID CurrentCid;
     PCSR_PROCESS CurrentProcess;
+    PCSR_SERVER_DLL ServerDll;
     PVOID ProcessData;
     ULONG i;
     PCSR_PROCESS CsrProcess;
@@ -564,8 +565,11 @@ CsrCreateProcess(IN HANDLE hProcess,
     ProcessData = &CurrentProcess->ServerData[CSR_SERVER_DLL_MAX];
     for (i = 0; i < CSR_SERVER_DLL_MAX; i++)
     {
+        /* Get the current Server */
+        ServerDll = CsrLoadedServerDll[i];
+
         /* Check if the DLL is Loaded and has Per Process Data */
-        if ((CsrLoadedServerDll[i]) && (CsrLoadedServerDll[i]->SizeOfProcessData))
+        if (ServerDll && ServerDll->SizeOfProcessData)
         {
             /* Set the pointer */
             CsrProcess->ServerData[i] = ProcessData;
@@ -573,11 +577,11 @@ CsrCreateProcess(IN HANDLE hProcess,
             /* Copy the Data */
             RtlMoveMemory(ProcessData,
                           CurrentProcess->ServerData[i],
-                          CsrLoadedServerDll[i]->SizeOfProcessData);
+                          ServerDll->SizeOfProcessData);
 
             /* Update next data pointer */
             ProcessData = (PVOID)((ULONG_PTR)ProcessData +
-                                  CsrLoadedServerDll[i]->SizeOfProcessData);
+                                  ServerDll->SizeOfProcessData);
         }
         else
         {
@@ -1305,7 +1309,9 @@ CsrShutdownProcesses(IN PLUID CallerLuid,
             {
                 /* Get the current server */
                 ServerDll = CsrLoadedServerDll[i];
-                if ((ServerDll) && (ServerDll->ShutdownProcessCallback))
+
+                /* Check if it's valid and if it has a Shutdown Process Callback */
+                if (ServerDll && ServerDll->ShutdownProcessCallback)
                 {
                     /* Release the lock, make the callback, and acquire it back */
                     CsrReleaseProcessLock();
index 91a2545..9f176db 100644 (file)
@@ -421,7 +421,7 @@ CsrSrvCreateSharedSection(IN PCHAR ParameterValue)
 
     /* Now allocate space from the heap for the Shared Data */
     CsrSrvSharedStaticServerData = RtlAllocateHeap(CsrSrvSharedSectionHeap,
-                                                   0,
+                                                   HEAP_ZERO_MEMORY,
                                                    CSR_SERVER_DLL_MAX * sizeof(PVOID));
     if (!CsrSrvSharedStaticServerData) return STATUS_NO_MEMORY;
 
index 7df3457..97fd95e 100644 (file)
@@ -215,10 +215,11 @@ CsrSbCreateSession(IN PSB_API_MSG ApiMessage)
     PSB_CREATE_SESSION_MSG CreateSession = &ApiMessage->CreateSession;
     HANDLE hProcess, hThread;
     PCSR_PROCESS CsrProcess;
-    NTSTATUS Status;
-    KERNEL_USER_TIMES KernelTimes;
     PCSR_THREAD CsrThread;
+    PCSR_SERVER_DLL ServerDll;
     PVOID ProcessData;
+    NTSTATUS Status;
+    KERNEL_USER_TIMES KernelTimes;
     ULONG i;
 
     /* Save the Process and Thread Handles */
@@ -309,15 +310,18 @@ CsrSbCreateSession(IN PSB_API_MSG ApiMessage)
     /* Loop every DLL */
     for (i = 0; i < CSR_SERVER_DLL_MAX; i++)
     {
+        /* Get the current Server */
+        ServerDll = CsrLoadedServerDll[i];
+
         /* Check if the DLL is loaded and has Process Data */
-        if (CsrLoadedServerDll[i] && CsrLoadedServerDll[i]->SizeOfProcessData)
+        if (ServerDll && ServerDll->SizeOfProcessData)
         {
             /* Write the pointer to the data */
             CsrProcess->ServerData[i] = ProcessData;
 
             /* Move to the next data location */
             ProcessData = (PVOID)((ULONG_PTR)ProcessData +
-                                  CsrLoadedServerDll[i]->SizeOfProcessData);
+                                  ServerDll->SizeOfProcessData);
         }
         else
         {