diff --git a/Kernel/FileSystem/Inode.cpp b/Kernel/FileSystem/Inode.cpp index 23977400b9..3e5da1d239 100644 --- a/Kernel/FileSystem/Inode.cpp +++ b/Kernel/FileSystem/Inode.cpp @@ -49,15 +49,11 @@ KResultOr> Inode::read_entire(FileDescription* descriptio { KBufferBuilder builder; - size_t nread; u8 buffer[4096]; off_t offset = 0; for (;;) { auto buf = UserOrKernelBuffer::for_kernel_buffer(buffer); - auto result = read_bytes(offset, sizeof(buffer), buf, description); - if (result.is_error()) - return result.error(); - nread = result.value(); + auto nread = TRY(read_bytes(offset, sizeof(buffer), buf, description)); VERIFY(nread <= sizeof(buffer)); if (nread == 0) break; @@ -78,11 +74,7 @@ KResultOr> Inode::resolve_as_link(Custody& base, RefPtrdata(), contents->size()); return VirtualFileSystem::the().resolve_path(path, base, out_parent, options, symlink_recursion_level); } @@ -324,19 +316,15 @@ KResult Inode::can_apply_flock(FileDescription const& description, flock const& KResult Inode::apply_flock(Process const& process, FileDescription const& description, Userspace input_lock) { - flock new_lock; + flock new_lock = {}; if (!copy_from_user(&new_lock, input_lock)) return EFAULT; - auto rc = normalize_flock(description, new_lock); - if (rc.is_error()) - return rc; + TRY(normalize_flock(description, new_lock)); MutexLocker locker(m_inode_lock); - rc = can_apply_flock(description, new_lock); - if (rc.is_error()) - return rc; + TRY(can_apply_flock(description, new_lock)); if (new_lock.l_type == F_UNLCK) { for (size_t i = 0; i < m_flocks.size(); ++i) { @@ -354,13 +342,11 @@ KResult Inode::apply_flock(Process const& process, FileDescription const& descri KResult Inode::get_flock(FileDescription const& description, Userspace reference_lock) const { - flock lookup; + flock lookup = {}; if (!copy_from_user(&lookup, reference_lock)) return EFAULT; - auto rc = normalize_flock(description, lookup); - if (rc.is_error()) - return rc; + TRY(normalize_flock(description, lookup)); MutexLocker locker(m_inode_lock, Mutex::Mode::Shared);