mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 04:39:45 +00:00
advapi32: RegSetValueExW should not crash when passed 1 instead of L"1".
This commit is contained in:
parent
8b774cb7a8
commit
2cd062831d
@ -1177,6 +1177,9 @@ LSTATUS WINAPI RegSetValueExW( HKEY hkey, LPCWSTR name, DWORD reserved,
|
||||
UNICODE_STRING nameW;
|
||||
|
||||
/* no need for version check, not implemented on win9x anyway */
|
||||
|
||||
if (data && ((ULONG_PTR)data >> 16) == 0) return ERROR_NOACCESS;
|
||||
|
||||
if (count && is_string(type))
|
||||
{
|
||||
LPCWSTR str = (LPCWSTR)data;
|
||||
|
@ -346,6 +346,9 @@ static void test_set_value(void)
|
||||
/* Crashes on NT4, Windows 2000 and XP SP1 */
|
||||
ret = RegSetValueW(hkey_main, NULL, REG_SZ, NULL, 0);
|
||||
ok(ret == ERROR_INVALID_PARAMETER, "RegSetValueW should have failed with ERROR_INVALID_PARAMETER instead of %d\n", ret);
|
||||
|
||||
RegSetValueExA(hkey_main, name2A, 0, REG_SZ, (const BYTE *)1, 1);
|
||||
RegSetValueExA(hkey_main, name2A, 0, REG_DWORD, (const BYTE *)1, 1);
|
||||
}
|
||||
|
||||
ret = RegSetValueW(hkey_main, NULL, REG_SZ, string1W, sizeof(string1W));
|
||||
@ -395,6 +398,12 @@ static void test_set_value(void)
|
||||
ok(ret == ERROR_SUCCESS, "RegSetValueExW failed: %d, GLE=%d\n", ret, GetLastError());
|
||||
test_hkey_main_Value_A(name2A, string2A, sizeof(string2A));
|
||||
test_hkey_main_Value_W(name2W, string2W, sizeof(string2W));
|
||||
|
||||
/* test RegSetValueExW with data = 1 */
|
||||
ret = RegSetValueExW(hkey_main, name2W, 0, REG_SZ, (const BYTE *)1, 1);
|
||||
ok(ret == ERROR_NOACCESS, "RegSetValueExW should have failed with with ERROR_NOACCESS: %d, GLE=%d\n", ret, GetLastError());
|
||||
ret = RegSetValueExW(hkey_main, name2W, 0, REG_DWORD, (const BYTE *)1, 1);
|
||||
ok(ret == ERROR_NOACCESS, "RegSetValueExW should have failed with with ERROR_NOACCESS: %d, GLE=%d\n", ret, GetLastError());
|
||||
}
|
||||
|
||||
static void create_test_entries(void)
|
||||
|
Loading…
Reference in New Issue
Block a user