From c902b3cb0d2d9dc14e5bb1172754c6144e103661 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 5 Sep 2021 14:36:40 +0200 Subject: [PATCH] Kernel: Use TRY() in sys$anon_create() --- Kernel/Syscalls/anon_create.cpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/Kernel/Syscalls/anon_create.cpp b/Kernel/Syscalls/anon_create.cpp index 182a68fcb6..1594085d5c 100644 --- a/Kernel/Syscalls/anon_create.cpp +++ b/Kernel/Syscalls/anon_create.cpp @@ -25,22 +25,11 @@ KResultOr Process::sys$anon_create(size_t size, int options) if (size > NumericLimits::max()) return EINVAL; - auto new_fd_or_error = m_fds.allocate(); - if (new_fd_or_error.is_error()) - return new_fd_or_error.error(); - auto new_fd = new_fd_or_error.release_value(); - auto maybe_vmobject = Memory::AnonymousVMObject::try_create_purgeable_with_size(size, AllocationStrategy::Reserve); - if (maybe_vmobject.is_error()) - return maybe_vmobject.error(); + auto new_fd = TRY(m_fds.allocate()); + auto vmobject = TRY(Memory::AnonymousVMObject::try_create_purgeable_with_size(size, AllocationStrategy::Reserve)); + auto anon_file = TRY(AnonymousFile::try_create(move(vmobject))); + auto description = TRY(FileDescription::try_create(move(anon_file))); - auto anon_file_or_error = AnonymousFile::try_create(maybe_vmobject.release_value()); - if (anon_file_or_error.is_error()) - return anon_file_or_error.error(); - auto description_or_error = FileDescription::try_create(anon_file_or_error.release_value()); - if (description_or_error.is_error()) - return description_or_error.error(); - - auto description = description_or_error.release_value(); description->set_writable(true); description->set_readable(true);