From d934e775227257350a9e42e3dd3f4e19b6bbd68e Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Sun, 21 Feb 2021 08:05:09 -0800 Subject: [PATCH] Kernel: Use copy_n_from_user in sys$setgroups to check for overflow --- Kernel/Syscalls/setuid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Syscalls/setuid.cpp b/Kernel/Syscalls/setuid.cpp index ee01f4e325..9e63ceb6bd 100644 --- a/Kernel/Syscalls/setuid.cpp +++ b/Kernel/Syscalls/setuid.cpp @@ -150,7 +150,7 @@ int Process::sys$setgroups(ssize_t count, Userspace user_gids) Vector gids; gids.resize(count); - if (!copy_from_user(gids.data(), user_gids.unsafe_userspace_ptr(), sizeof(gid_t) * count)) + if (!copy_n_from_user(gids.data(), user_gids, count)) return -EFAULT; HashTable unique_extra_gids;