From 50a2cb38e5498079707f786a9fdf381d448fefd0 Mon Sep 17 00:00:00 2001 From: Luke Date: Sun, 24 Jan 2021 00:03:14 +0000 Subject: [PATCH] Kernel: Fix two error codes being returned as positive in Process::exec This made the assertion on line 921 think it was a successful exec, when it wasn't. Fixes #5084 --- Kernel/Syscalls/execve.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/Syscalls/execve.cpp b/Kernel/Syscalls/execve.cpp index c42e3bb02d..1c66a48db1 100644 --- a/Kernel/Syscalls/execve.cpp +++ b/Kernel/Syscalls/execve.cpp @@ -819,12 +819,12 @@ int Process::exec(String path, Vector arguments, Vector environm // #2) ELF32 for i386 if (nread_or_error.value() < (int)sizeof(Elf32_Ehdr)) - return ENOEXEC; + return -ENOEXEC; auto main_program_header = (Elf32_Ehdr*)first_page; if (!ELF::validate_elf_header(*main_program_header, metadata.size)) { dbgln("exec({}): File has invalid ELF header", path); - return ENOEXEC; + return -ENOEXEC; } auto elf_result = find_elf_interpreter_for_executable(path, *main_program_header, nread_or_error.value(), metadata.size);