mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 19:26:42 +00:00
[shlwapi]
fix buffer overflow svn path=/trunk/; revision=63649
This commit is contained in:
@@ -137,20 +137,21 @@ LPSTR WINAPI PathCombineA(LPSTR lpszDest, LPCSTR lpszDir, LPCSTR lpszFile)
|
||||
if (!lpszDest)
|
||||
return NULL;
|
||||
if (!lpszDir && !lpszFile)
|
||||
{
|
||||
lpszDest[0] = 0;
|
||||
return NULL;
|
||||
}
|
||||
goto fail;
|
||||
|
||||
if (lpszDir)
|
||||
MultiByteToWideChar(CP_ACP,0,lpszDir,-1,szDir,MAX_PATH);
|
||||
if (!MultiByteToWideChar(CP_ACP,0,lpszDir,-1,szDir,MAX_PATH))
|
||||
goto fail;
|
||||
|
||||
if (lpszFile)
|
||||
MultiByteToWideChar(CP_ACP,0,lpszFile,-1,szFile,MAX_PATH);
|
||||
if (!MultiByteToWideChar(CP_ACP,0,lpszFile,-1,szFile,MAX_PATH))
|
||||
goto fail;
|
||||
|
||||
if (PathCombineW(szDest, lpszDir ? szDir : NULL, lpszFile ? szFile : NULL))
|
||||
if (WideCharToMultiByte(CP_ACP,0,szDest,-1,lpszDest,MAX_PATH,0,0))
|
||||
return lpszDest;
|
||||
|
||||
fail:
|
||||
lpszDest[0] = 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user