Author: hbelusca
Date: Sun Feb 2 00:08:54 2014
New Revision: 61913
URL:
http://svn.reactos.org/svn/reactos?rev=61913&view=rev
Log:
[KERNEL32]
Remove spurious cast to CSR_API_MESSAGE. What should be noted is that CsrMsg is used by
both VDM thing (via CheckVdmMsg pointer) and CreateProcess thing (via CreateProcessMsg),
but one after the other (first VDM only, then CreateProcess only) so that, even if the
common struct/union CsrMsg is used in both cases, there is no data corruption by, e.g.
CreateProcess using pieces of VDM data and vice-versa.
Modified:
trunk/reactos/dll/win32/kernel32/client/proc.c
Modified: trunk/reactos/dll/win32/kernel32/client/proc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/client/proc.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/client/proc.c [iso-8859-1] Sun Feb 2 00:08:54 2014
@@ -2378,7 +2378,7 @@
ANSI_STRING VdmAnsiEnv;
UNICODE_STRING VdmString, VdmUnicodeEnv;
BOOLEAN IsWowApp;
- PBASE_CHECK_VDM VdmMsg;
+ PBASE_CHECK_VDM CheckVdmMsg;
/* Zero out the initial core variables and handles */
QuerySection = FALSE;
@@ -2433,7 +2433,7 @@
/* Set message structures */
CreateProcessMsg = &CsrMsg.Data.CreateProcessRequest;
- VdmMsg = &CsrMsg.Data.CheckVDMRequest;
+ CheckVdmMsg = &CsrMsg.Data.CheckVDMRequest;
/* Clear the more complex structures by zeroing out their entire memory */
RtlZeroMemory(&Context, sizeof(Context));
@@ -3206,7 +3206,7 @@
lpCommandLine,
lpCurrentDirectory,
&VdmAnsiEnv,
- (PCSR_API_MESSAGE)VdmMsg,
+ &CsrMsg,
&VdmTask,
dwCreationFlags,
&StartupInfo,
@@ -3232,9 +3232,9 @@
}
/* Check which VDM state we're currently in */
- switch (VdmMsg->VDMState & (VDM_NOT_LOADED |
- VDM_NOT_READY |
- VDM_READY))
+ switch (CheckVdmMsg->VDMState & (VDM_NOT_LOADED |
+ VDM_NOT_READY |
+ VDM_READY))
{
case VDM_NOT_LOADED:
/* VDM is not fully loaded, so not that much to undo */
@@ -3274,7 +3274,7 @@
VdmUndoLevel = VDM_UNDO_REUSE;
/* Check if CSRSS wants us to wait on VDM */
- VdmWaitObject = VdmMsg->WaitObjectForParent;
+ VdmWaitObject = CheckVdmMsg->WaitObjectForParent;
break;
case VDM_NOT_READY:
@@ -3343,7 +3343,7 @@
lpCommandLine,
lpCurrentDirectory,
&VdmAnsiEnv,
- (PCSR_API_MESSAGE)VdmMsg,
+ &CsrMsg,
&VdmTask,
dwCreationFlags,
&StartupInfo,
@@ -3358,9 +3358,9 @@
};
/* Handle possible VDM states */
- switch (VdmMsg->VDMState & (VDM_NOT_LOADED |
- VDM_NOT_READY |
- VDM_READY))
+ switch (CheckVdmMsg->VDMState & (VDM_NOT_LOADED |
+ VDM_NOT_READY |
+ VDM_READY))
{
case VDM_NOT_LOADED:
/* If VDM is not loaded, we'll do a partial undo */
@@ -3397,7 +3397,7 @@
VdmUndoLevel = VDM_UNDO_REUSE;
/* Check if CSRSS wants us to wait on VDM */
- VdmWaitObject = VdmMsg->WaitObjectForParent;
+ VdmWaitObject = CheckVdmMsg->WaitObjectForParent;
break;
case VDM_NOT_READY:
@@ -4254,7 +4254,7 @@
{
/* IA32, IA64 and AMD64 are supported in Server 2003 */
case IMAGE_FILE_MACHINE_I386:
- CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL;
+ CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL;
break;
case IMAGE_FILE_MACHINE_IA64:
CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64;