diff --git a/Kernel/Syscalls/module.cpp b/Kernel/Syscalls/module.cpp index 5ab722de77..ad52c2b539 100644 --- a/Kernel/Syscalls/module.cpp +++ b/Kernel/Syscalls/module.cpp @@ -35,10 +35,12 @@ KResultOr Process::sys$module_load(Userspace user_path, si return payload_or_error.error(); auto& payload = *payload_or_error.value(); - auto storage = KBuffer::create_with_size(payload.size()); - memcpy(storage.data(), payload.data(), payload.size()); + auto storage = KBuffer::try_create_with_size(payload.size()); + if (!storage) + return ENOMEM; + memcpy(storage->data(), payload.data(), payload.size()); - auto elf_image = try_make(storage.data(), storage.size()); + auto elf_image = try_make(storage->data(), storage->size()); if (!elf_image) return ENOMEM; if (!elf_image->parse())