mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
[USERENV] Check for invalid parameters in Get{Profiles,UserProfile}Directory{A,W}. Fixes userenv:userenv test crash.
svn path=/trunk/; revision=67446
This commit is contained in:
@@ -672,6 +672,12 @@ GetProfilesDirectoryA(LPSTR lpProfileDir,
|
||||
LPWSTR lpBuffer;
|
||||
BOOL bResult;
|
||||
|
||||
if (!lpProfileDir || !lpcchSize)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
lpBuffer = GlobalAlloc(GMEM_FIXED,
|
||||
*lpcchSize * sizeof(WCHAR));
|
||||
if (lpBuffer == NULL)
|
||||
@@ -708,6 +714,12 @@ GetProfilesDirectoryW(LPWSTR lpProfilesDir,
|
||||
HKEY hKey;
|
||||
LONG Error;
|
||||
|
||||
if (!lpcchSize)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Error = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
||||
L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
|
||||
0,
|
||||
@@ -775,6 +787,12 @@ GetUserProfileDirectoryA(HANDLE hToken,
|
||||
LPWSTR lpBuffer;
|
||||
BOOL bResult;
|
||||
|
||||
if (!lpProfileDir || !lpcchSize)
|
||||
{
|
||||
SetLastError( ERROR_INVALID_PARAMETER );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
lpBuffer = GlobalAlloc(GMEM_FIXED,
|
||||
*lpcchSize * sizeof(WCHAR));
|
||||
if (lpBuffer == NULL)
|
||||
@@ -815,6 +833,12 @@ GetUserProfileDirectoryW(HANDLE hToken,
|
||||
HKEY hKey;
|
||||
LONG Error;
|
||||
|
||||
if (!lpcchSize)
|
||||
{
|
||||
SetLastError( ERROR_INVALID_PARAMETER );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!GetUserSidStringFromToken(hToken,
|
||||
&SidString))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user