From: Eric Pouech epouech@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57586
Signed-off-by: Eric Pouech epouech@codeweavers.com --- dlls/advapi32/tests/registry.c | 3 +++ dlls/kernelbase/registry.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c index d45df75d727..cc9c0bff2c6 100644 --- a/dlls/advapi32/tests/registry.c +++ b/dlls/advapi32/tests/registry.c @@ -1621,6 +1621,9 @@ static void test_reg_load_key(void) ret = RegUnLoadKeyA(HKEY_LOCAL_MACHINE, "Test"); ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %ld\n", ret);
+ ret = RegLoadKeyA(HKEY_LOCAL_MACHINE, "Test", ""); + ok(ret == ERROR_INVALID_PARAMETER, "expected INVALID_PARAMETER, got %ld\n", ret); + /* check if modifications are saved */ ret = RegLoadKeyA(HKEY_LOCAL_MACHINE, "Test", saved_key); ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %ld\n", ret); diff --git a/dlls/kernelbase/registry.c b/dlls/kernelbase/registry.c index 8471376bf96..6b9041e17b9 100644 --- a/dlls/kernelbase/registry.c +++ b/dlls/kernelbase/registry.c @@ -2456,7 +2456,8 @@ LSTATUS WINAPI RegLoadKeyW( HKEY hkey, LPCWSTR subkey, LPCWSTR filename ) file.Attributes = OBJ_CASE_INSENSITIVE; file.SecurityDescriptor = NULL; file.SecurityQualityOfService = NULL; - RtlDosPathNameToNtPathName_U(filename, &filenameW, NULL, NULL); + if (!RtlDosPathNameToNtPathName_U(filename, &filenameW, NULL, NULL)) + return ERROR_INVALID_PARAMETER;
status = NtLoadKey(&destkey, &file); RtlFreeUnicodeString(&filenameW);