From fc5134d52eb8c2d6949b8cadab5b0c2ab8473615 Mon Sep 17 00:00:00 2001 From: Ge van Geldorp Date: Tue, 30 Dec 2003 19:20:11 +0000 Subject: [PATCH] Enclose application name in double quotation marks, as it may contain spaces. --- dlls/shell32/shlexec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index 0fab4d79186..8f8c56b0418 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -622,7 +622,7 @@ HINSTANCE WINAPI FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpR */ BOOL WINAPI ShellExecuteExA32 (LPSHELLEXECUTEINFOA sei, SHELL_ExecuteA1632 execfunc) { - CHAR szApplicationName[MAX_PATH],szCommandline[MAX_PATH],szPidl[20],fileName[MAX_PATH]; + CHAR szApplicationName[MAX_PATH + 2],szCommandline[MAX_PATH],szPidl[20],fileName[MAX_PATH]; LPSTR pos; void *env; int gap, len; @@ -658,7 +658,9 @@ BOOL WINAPI ShellExecuteExA32 (LPSHELLEXECUTEINFOA sei, SHELL_ExecuteA1632 execf /* process the IDList */ if ( (sei->fMask & SEE_MASK_INVOKEIDLIST) == SEE_MASK_INVOKEIDLIST) /*0x0c*/ { - SHGetPathFromIDListA (sei->lpIDList,szApplicationName); + szApplicationName[0] = '"'; + SHGetPathFromIDListA (sei->lpIDList,szApplicationName + 1); + strcat(szApplicationName, "\""); TRACE("-- idlist=%p (%s)\n", sei->lpIDList, szApplicationName); } else