From 9903f5c6ef76dfd3c15e63205e307c9519c32ff3 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 5 Sep 2021 16:25:09 +0200 Subject: [PATCH] Kernel: Use TRY() in sys$read() and sys$readv() --- Kernel/Syscalls/read.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Kernel/Syscalls/read.cpp b/Kernel/Syscalls/read.cpp index f8d10beb73..61018f99a2 100644 --- a/Kernel/Syscalls/read.cpp +++ b/Kernel/Syscalls/read.cpp @@ -60,10 +60,8 @@ KResultOr Process::sys$readv(int fd, Userspace iov auto buffer = UserOrKernelBuffer::for_user_buffer((u8*)vec.iov_base, vec.iov_len); if (!buffer.has_value()) return EFAULT; - auto result = description->read(buffer.value(), vec.iov_len); - if (result.is_error()) - return result.error(); - nread += result.value(); + auto nread_here = TRY(description->read(buffer.value(), vec.iov_len)); + nread += nread_here; } return nread; @@ -98,10 +96,7 @@ KResultOr Process::sys$read(int fd, Userspace buffer, size_t size) auto user_buffer = UserOrKernelBuffer::for_user_buffer(buffer, size); if (!user_buffer.has_value()) return EFAULT; - auto result = description->read(user_buffer.value(), size); - if (result.is_error()) - return result.error(); - return result.value(); + return TRY(description->read(user_buffer.value(), size)); } }