if (!sane_path(key))
return FALSE;
- *path = wcschr(key, '\\');
- if (*path) (*path)++;
-
*root = path_get_rootkey(key);
if (!*root)
{
return FALSE;
}
+ *path = wcschr(key, '\\');
+
+ if (!*path)
+ return TRUE;
+
+ (*path)++;
+
+ if (!**path)
+ {
+ output_message(STRING_INVALID_SYSTEM_KEY);
+ return FALSE;
+ }
+
return TRUE;
}
/* Test validity of trailing backslash after system key */
run_reg_exe("reg add HKCU\\ /v Value1 /t REG_SZ /d foo /f", &r);
- todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
- todo_wine verify_reg_nonexist(HKEY_CURRENT_USER, "Value1");
+ ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
+ verify_reg_nonexist(HKEY_CURRENT_USER, "Value1");
run_reg_exe("reg add HKEY_CURRENT_USER\\ /v Value2 /t REG_SZ /d bar /f", &r);
- todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
- todo_wine verify_reg_nonexist(HKEY_CURRENT_USER, "Value2");
+ ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
+ verify_reg_nonexist(HKEY_CURRENT_USER, "Value2");
}
static void test_add(void)