Kernel: Use TRY() in sys$setkeymap()

This commit is contained in:
Andreas Kling 2021-09-05 18:00:31 +02:00
parent 1f475f7bbc
commit d53c60fd9f
Notes: sideshowbarker 2024-07-18 04:41:23 +09:00

View File

@ -29,13 +29,11 @@ KResultOr<FlatPtr> Process::sys$setkeymap(Userspace<const Syscall::SC_setkeymap_
TRY(copy_n_from_user(character_map_data.altgr_map, params.altgr_map, CHAR_MAP_SIZE)); TRY(copy_n_from_user(character_map_data.altgr_map, params.altgr_map, CHAR_MAP_SIZE));
TRY(copy_n_from_user(character_map_data.shift_altgr_map, params.shift_altgr_map, CHAR_MAP_SIZE)); TRY(copy_n_from_user(character_map_data.shift_altgr_map, params.shift_altgr_map, CHAR_MAP_SIZE));
auto map_name = get_syscall_path_argument(params.map_name); auto map_name = TRY(get_syscall_path_argument(params.map_name));
if (map_name.is_error()) if (map_name->length() > map_name_max_size)
return map_name.error();
if (map_name.value()->length() > map_name_max_size)
return ENAMETOOLONG; return ENAMETOOLONG;
HIDManagement::the().set_maps(character_map_data, map_name.value()->view()); HIDManagement::the().set_maps(character_map_data, map_name->view());
return 0; return 0;
} }