From a1a82c1d95ef8e5932f439483ee11b6a8c424c4c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 1 Mar 2021 15:04:31 +0100 Subject: Kernel: Use Userspace in sys$get_dir_entries() --- Kernel/Syscalls/get_dir_entries.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Kernel/Syscalls/get_dir_entries.cpp') diff --git a/Kernel/Syscalls/get_dir_entries.cpp b/Kernel/Syscalls/get_dir_entries.cpp index 627ab8456e..7065a70870 100644 --- a/Kernel/Syscalls/get_dir_entries.cpp +++ b/Kernel/Syscalls/get_dir_entries.cpp @@ -29,18 +29,18 @@ namespace Kernel { -KResultOr Process::sys$get_dir_entries(int fd, void* buffer, ssize_t size) +KResultOr Process::sys$get_dir_entries(int fd, Userspace user_buffer, ssize_t user_size) { REQUIRE_PROMISE(stdio); - if (size < 0) + if (user_size < 0) return EINVAL; auto description = file_description(fd); if (!description) return EBADF; - auto user_buffer = UserOrKernelBuffer::for_user_buffer((u8*)buffer, size); - if (!user_buffer.has_value()) + auto buffer = UserOrKernelBuffer::for_user_buffer(user_buffer, static_cast(user_size)); + if (!buffer.has_value()) return EFAULT; - return description->get_dir_entries(user_buffer.value(), size); + return description->get_dir_entries(buffer.value(), user_size); } } -- cgit v1.2.3