Avoid crashes caused by very long URLs.
Signed-off-by: Haoyang Chen chenhaoyang@uniontech.com --- dlls/shell32/shlexec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index ce0b8f6d2be..e0b38a854d5 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -448,7 +448,7 @@ static BOOL SHELL_TryAppPathW( LPCWSTR szName, LPWSTR lpResult, WCHAR **env) '\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\','A','p','p',' ','P','a','t','h','s','\',0}; static const WCHAR wPath[] = {'P','a','t','h',0}; HKEY hkApp = 0; - WCHAR buffer[1024]; + WCHAR buffer[2048]; LONG len; LONG res; BOOL found = FALSE; @@ -991,7 +991,7 @@ static UINT_PTR execute_from_key(LPCWSTR key, LPCWSTR lpFile, WCHAR *env, LPCWST { static const WCHAR wCommand[] = {'c','o','m','m','a','n','d',0}; static const WCHAR wDdeexec[] = {'d','d','e','e','x','e','c',0}; - WCHAR cmd[256], param[1024], ddeexec[256]; + WCHAR cmd[256], param[2048], ddeexec[256]; LONG cmdlen = sizeof(cmd), ddeexeclen = sizeof(ddeexec); UINT_PTR retval = SE_ERR_NOASSOC; DWORD resultLen; @@ -1588,7 +1588,7 @@ static BOOL SHELL_execute( LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfunc ) SEE_MASK_CONNECTNETDRV | SEE_MASK_FLAG_DDEWAIT | SEE_MASK_UNICODE | SEE_MASK_ASYNCOK | SEE_MASK_HMONITOR;
- WCHAR parametersBuffer[1024], dirBuffer[MAX_PATH], wcmdBuffer[1024]; + WCHAR parametersBuffer[2048], dirBuffer[MAX_PATH], wcmdBuffer[2048]; WCHAR *wszApplicationName, *wszParameters, *wszDir, *wcmd = NULL; DWORD dwApplicationNameLen = MAX_PATH+2; DWORD parametersLen = ARRAY_SIZE(parametersBuffer);