Kernel: Use copy_n_from_user in sys$setgroups to check for overflow

This commit is contained in:
Brian Gianforcaro 2021-02-21 08:05:09 -08:00 committed by Andreas Kling
parent 4743afeaf4
commit d934e77522
Notes: sideshowbarker 2024-07-18 22:02:53 +09:00

View file

@ -150,7 +150,7 @@ int Process::sys$setgroups(ssize_t count, Userspace<const gid_t*> user_gids)
Vector<gid_t> 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<gid_t> unique_extra_gids;