Author: hbelusca
Date: Tue Nov 13 21:08:19 2012
New Revision: 57701
URL:
http://svn.reactos.org/svn/reactos?rev=57701&view=rev
Log:
[CSRSRV]
- 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.
Modified:
branches/ros-csrss/subsystems/win32/csrsrv/init.c
branches/ros-csrss/subsystems/win32/csrsrv/procsup.c
branches/ros-csrss/subsystems/win32/csrsrv/server.c
branches/ros-csrss/subsystems/win32/csrsrv/session.c
Modified: branches/ros-csrss/subsystems/win32/csrsrv/init.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-csrss/subsystems/win32/csrs…
==============================================================================
--- branches/ros-csrss/subsystems/win32/csrsrv/init.c [iso-8859-1] (original)
+++ branches/ros-csrss/subsystems/win32/csrsrv/init.c [iso-8859-1] Tue Nov 13 21:08:19
2012
@@ -54,7 +54,7 @@
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);
}
Modified: branches/ros-csrss/subsystems/win32/csrsrv/procsup.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-csrss/subsystems/win32/csrs…
==============================================================================
--- branches/ros-csrss/subsystems/win32/csrsrv/procsup.c [iso-8859-1] (original)
+++ branches/ros-csrss/subsystems/win32/csrsrv/procsup.c [iso-8859-1] Tue Nov 13 21:08:19
2012
@@ -437,7 +437,7 @@
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 @@
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 @@
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 @@
/* 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 @@
{
/* 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();
Modified: branches/ros-csrss/subsystems/win32/csrsrv/server.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-csrss/subsystems/win32/csrs…
==============================================================================
--- branches/ros-csrss/subsystems/win32/csrsrv/server.c [iso-8859-1] (original)
+++ branches/ros-csrss/subsystems/win32/csrsrv/server.c [iso-8859-1] Tue Nov 13 21:08:19
2012
@@ -421,7 +421,7 @@
/* 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;
Modified: branches/ros-csrss/subsystems/win32/csrsrv/session.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-csrss/subsystems/win32/csrs…
==============================================================================
--- branches/ros-csrss/subsystems/win32/csrsrv/session.c [iso-8859-1] (original)
+++ branches/ros-csrss/subsystems/win32/csrsrv/session.c [iso-8859-1] Tue Nov 13 21:08:19
2012
@@ -215,10 +215,11 @@
PSB_CREATE_SESSION_MSG CreateSession = &ApiMessage->CreateSession;
HANDLE hProcess, hThread;
PCSR_PROCESS CsrProcess;
+ PCSR_THREAD CsrThread;
+ PCSR_SERVER_DLL ServerDll;
+ PVOID ProcessData;
NTSTATUS Status;
KERNEL_USER_TIMES KernelTimes;
- PCSR_THREAD CsrThread;
- PVOID ProcessData;
ULONG i;
/* Save the Process and Thread Handles */
@@ -309,15 +310,18 @@
/* 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
{