svn path=/trunk/; revision=69200
AnsiCmdLine = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CmdLen + 2);
AnsiAppName = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->AppLen);
AnsiCurDirectory = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CurDirectoryLen);
AnsiCmdLine = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CmdLen + 2);
AnsiAppName = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->AppLen);
AnsiCurDirectory = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CurDirectoryLen);
- if (StartupInfo->lpDesktop) AnsiDesktop = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
- HEAP_ZERO_MEMORY,
- CheckVdm->DesktopLen);
- if (StartupInfo->lpTitle) AnsiTitle = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
- HEAP_ZERO_MEMORY,
- CheckVdm->TitleLen);
- if (StartupInfo->lpReserved) AnsiReserved = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
- HEAP_ZERO_MEMORY,
- CheckVdm->ReservedLen);
+ if (StartupInfo->lpDesktop)
+ AnsiDesktop = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
+ HEAP_ZERO_MEMORY,
+ CheckVdm->DesktopLen);
+ if (StartupInfo->lpTitle)
+ AnsiTitle = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
+ HEAP_ZERO_MEMORY,
+ CheckVdm->TitleLen);
+ if (StartupInfo->lpReserved)
+ AnsiReserved = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
+ HEAP_ZERO_MEMORY,
+ CheckVdm->ReservedLen);
if (!AnsiCmdLine
|| !AnsiAppName
if (!AnsiCmdLine
|| !AnsiAppName
}
/* Fill the ANSI startup info structure */
}
/* Fill the ANSI startup info structure */
- RtlCopyMemory(&AnsiStartupInfo, StartupInfo, sizeof(STARTUPINFO));
+ RtlCopyMemory(&AnsiStartupInfo, StartupInfo, sizeof(AnsiStartupInfo));
AnsiStartupInfo.lpReserved = AnsiReserved;
AnsiStartupInfo.lpDesktop = AnsiDesktop;
AnsiStartupInfo.lpTitle = AnsiTitle;
AnsiStartupInfo.lpReserved = AnsiReserved;
AnsiStartupInfo.lpDesktop = AnsiDesktop;
AnsiStartupInfo.lpTitle = AnsiTitle;
+ CheckVdm->TitleLen
+ CheckVdm->ReservedLen
+ CheckVdm->EnvLen
+ CheckVdm->TitleLen
+ CheckVdm->ReservedLen
+ CheckVdm->EnvLen
- + sizeof(STARTUPINFOA));
+ + sizeof(*CheckVdm->StartupInfo));
if (CaptureBuffer == NULL)
{
Status = STATUS_NO_MEMORY;
if (CaptureBuffer == NULL)
{
Status = STATUS_NO_MEMORY;
/* Capture the startup info structure */
CsrCaptureMessageBuffer(CaptureBuffer,
&AnsiStartupInfo,
/* Capture the startup info structure */
CsrCaptureMessageBuffer(CaptureBuffer,
&AnsiStartupInfo,
+ sizeof(*CheckVdm->StartupInfo),
(PVOID*)&CheckVdm->StartupInfo);
if (StartupInfo->lpDesktop)
(PVOID*)&CheckVdm->StartupInfo);
if (StartupInfo->lpDesktop)
// Can be put in some .h ??
#define IS_PATH_SEPARATOR(x) ((x) == L'\\' || (x) == L'/')
// Can be put in some .h ??
#define IS_PATH_SEPARATOR(x) ((x) == L'\\' || (x) == L'/')
NTSTATUS Status;
ULONG RegionSize, EnvironmentSize = 0;
PWCHAR Environment, NewEnvironment = NULL;
NTSTATUS Status;
ULONG RegionSize, EnvironmentSize = 0;
PWCHAR Environment, NewEnvironment = NULL;
else
{
/* Everything went okay, so return success */
else
{
/* Everything went okay, so return success */
}
/* Return the result */
}
/* Return the result */