From ad904cdcab84bc2afe0c648ca126f12a781dbf5f Mon Sep 17 00:00:00 2001 From: Hendiadyoin1 Date: Sat, 18 Jun 2022 18:36:23 +0200 Subject: [PATCH] Kernel: Use find_last_split_view to get the executable name in do_exec --- Kernel/Syscalls/execve.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Kernel/Syscalls/execve.cpp b/Kernel/Syscalls/execve.cpp index 428ba887a8..1dbfb88903 100644 --- a/Kernel/Syscalls/execve.cpp +++ b/Kernel/Syscalls/execve.cpp @@ -471,12 +471,9 @@ ErrorOr Process::do_exec(NonnullRefPtr main_program_d if (!validate_stack_size(arguments, environment)) return E2BIG; - // FIXME: split_view() currently allocates (Vector) without checking for failure. - auto parts = path->view().split_view('/'); - if (parts.is_empty()) - return ENOENT; + auto last_part = path->view().find_last_split_view('/'); - auto new_process_name = TRY(KString::try_create(parts.last())); + auto new_process_name = TRY(KString::try_create(last_part)); auto new_main_thread_name = TRY(new_process_name->try_clone()); auto load_result = TRY(load(main_program_description, interpreter_description, main_program_header));