[Bug 19666] Multiple applications start wrong executable if whitespace present in name ('ShellExecute' doesn't quote executable name)(FoxitReader 3.0, GTA2 Manager)
wine-bugs at winehq.org
wine-bugs at winehq.org
Thu Jul 16 15:26:55 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=19666
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Fixed by SHA1| |943ead502295793f608ad65eb0c
| |a144ba67546ce
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #18 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
this is fixed by commit
https://source.winehq.org/git/wine.git/commitdiff/943ead502295793f608ad65eb0ca144ba67546ce
Thanks Piotr
Although of non-serious consequence, the code should be further revised to
avoid garbage being present after the quote (no parameters).
--- snip ---
...
0009:Call KERNEL32.CreateProcessW(00000000,0032ded0
L"\"C:\\users\\focht\\Temp\\fox244d.tmp\\Foxit Reader
Setup.exe\"\e4a02\fab3\7bcb",00000000,00000000,00000000,00000410,00000000,00000000,0032d9a0,0032d990)
ret=7e83f8c2
0009:trace:process:create_process_impl app (null) cmdline
L"\"C:\\users\\focht\\Temp\\fox244d.tmp\\Foxit Reader
Setup.exe\"\e4a02\fab3\7bcb"
...
--- snip ---
--- snip ---
$ Wine-dbg>info locals
0x7e8440e4 SHELL_execute+0xcf5: (0033f228)
LPSHELLEXECUTEINFOW sei=0x33f268 (parameter [EBP+8])
SHELL_ExecuteW32 execfunc=0x7e83f6c3 (parameter [EBP+12])
...
WCHAR* wszApplicationName="C:\users\focht\Temp\fox7001.tmp\Foxit Reader
Setup.exe" (local [EBP-28])
WCHAR* wszParameters="" (local [EBP-32])
WCHAR* wszDir="" (local [EBP-36])
WCHAR* wcmd="?3" (local [EBP-40])
DWORD dwApplicationNameLen=0x38 (local [EBP-44])
DWORD parametersLen=0x400 (local [EBP-48])
DWORD dirLen=0x104 (local [EBP-64])
DWORD wcmdLen=0x400 (local [EBP-52])
DWORD len=0x39 (local [EBP-56])
SHELLEXECUTEINFOW sei_tmp={cbSize=0x3c, fMask=0x40, hwnd=(nil),
lpVerb=0x0(nil), lpFile="C:\users\focht\Temp\fox7001.tmp\Foxit Reader
Setup.exe", lpParameters="", lpDirectory="", nShow=0x5, hInstApp=(nil),
lpIDList=0x0(nil), lpClass=0x0(nil), hkeyClass=(nil), dwHotKey=0,
={hIcon=0x0(nil), hMonitor=0x0(nil)}, hProcess=0x0(nil)} (local [EBP-4964])
...
Wine-dbg>n
1773 len = lstrlenW(wszApplicationName);
Wine-dbg>n
1774 memcpy(wcmd+1, wszApplicationName, len * sizeof(WCHAR));
Wine-dbg>n
1775 len++;
Wine-dbg>n
1776 wcmd[len++] = '\"';
Wine-dbg>p wcmd
""C:\users\focht\Temp\fox7001.tmp\Foxit Reader Setup.exe??3????"
Wine-dbg>n
1777 if (sei_tmp.lpParameters[0]) {
Wine-dbg>p wcmd
""C:\users\focht\Temp\fox7001.tmp\Foxit Reader Setup.exe"?3????"
Wine-dbg>n
1782 retval = execfunc(wcmd, NULL, FALSE, &sei_tmp, sei);
--- snip ---
https://source.winehq.org/git/wine.git/blob/943ead502295793f608ad65eb0ca144ba67546ce:/dlls/shell32/shlexec.c#l1773
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list