mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-16 01:25:51 +00:00
Fixed cmd line length calculation.
This commit is contained in:
parent
3ba4be4054
commit
8952dea404
|
@ -499,10 +499,10 @@ WINE_MODREF *MODULE_FindModule(
|
||||||
* Returns FALSE if the file is not an executable or if the function fails.
|
* Returns FALSE if the file is not an executable or if the function fails.
|
||||||
*
|
*
|
||||||
* To do so it opens the file and reads in the header information
|
* To do so it opens the file and reads in the header information
|
||||||
* if the extended header information is not presend it will
|
* if the extended header information is not present it will
|
||||||
* assume that that the file is a DOS executable.
|
* assume that the file is a DOS executable.
|
||||||
* If the extended header information is present it will
|
* If the extended header information is present it will
|
||||||
* determine if the file is an 16 or 32 bit Windows executable
|
* determine if the file is a 16 or 32 bit Windows executable
|
||||||
* by check the flags in the header.
|
* by check the flags in the header.
|
||||||
*
|
*
|
||||||
* Note that .COM and .PIF files are only recognized by their
|
* Note that .COM and .PIF files are only recognized by their
|
||||||
|
@ -1050,7 +1050,6 @@ BOOL WINAPI CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine,
|
||||||
char name[256], dummy[256];
|
char name[256], dummy[256];
|
||||||
LPCSTR cmdline = NULL;
|
LPCSTR cmdline = NULL;
|
||||||
LPSTR tidy_cmdline;
|
LPSTR tidy_cmdline;
|
||||||
int len = 0;
|
|
||||||
|
|
||||||
/* Get name and command line */
|
/* Get name and command line */
|
||||||
|
|
||||||
|
@ -1064,19 +1063,18 @@ BOOL WINAPI CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine,
|
||||||
|
|
||||||
name[0] = '\0';
|
name[0] = '\0';
|
||||||
|
|
||||||
if (lpApplicationName) {
|
if (lpApplicationName)
|
||||||
found_file = make_lpApplicationName_name( lpApplicationName, name, sizeof(name) );
|
{
|
||||||
if (lpCommandLine) {
|
found_file = make_lpApplicationName_name( lpApplicationName, name, sizeof(name) );
|
||||||
make_lpCommandLine_name( lpCommandLine, dummy, sizeof ( dummy ), &cmdline );
|
if (lpCommandLine)
|
||||||
|
make_lpCommandLine_name( lpCommandLine, dummy, sizeof ( dummy ), &cmdline );
|
||||||
|
else
|
||||||
|
cmdline = lpApplicationName;
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
cmdline = lpApplicationName;
|
{
|
||||||
}
|
if (lpCommandLine)
|
||||||
len += strlen(lpApplicationName);
|
found_file = make_lpCommandLine_name( lpCommandLine, name, sizeof ( name ), &cmdline );
|
||||||
}
|
|
||||||
else {
|
|
||||||
found_file = make_lpCommandLine_name( lpCommandLine, name, sizeof ( name ), &cmdline );
|
|
||||||
if (lpCommandLine) len = strlen(lpCommandLine);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !found_file ) {
|
if ( !found_file ) {
|
||||||
|
@ -1085,8 +1083,10 @@ BOOL WINAPI CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
len += strlen(name) + 2;
|
if (!cmdline) cmdline = "";
|
||||||
tidy_cmdline = HeapAlloc( GetProcessHeap(), 0, len );
|
tidy_cmdline = HeapAlloc( GetProcessHeap(), 0, strlen(name) + strlen(cmdline) + 3 );
|
||||||
|
TRACE_(module)("tidy_cmdline: name '%s'[%d], cmdline '%s'[%d]\n",
|
||||||
|
name, strlen(name), cmdline, strlen(cmdline));
|
||||||
sprintf( tidy_cmdline, "\"%s\"%s", name, cmdline);
|
sprintf( tidy_cmdline, "\"%s\"%s", name, cmdline);
|
||||||
|
|
||||||
/* Warn if unsupported features are used */
|
/* Warn if unsupported features are used */
|
||||||
|
|
Loading…
Reference in a new issue