Kernel: Don't assert on sys$setsockopt() with unexpected level

Just error out with ENOPROTOOPT instead.

Found by fuzz-syscalls. :^)
This commit is contained in:
Andreas Kling 2021-02-13 01:29:28 +01:00
parent a5def4e98c
commit af0e52ca54

View file

@ -99,6 +99,8 @@ KResult Socket::queue_connection_from(NonnullRefPtr<Socket> peer)
KResult Socket::setsockopt(int level, int option, Userspace<const void*> user_value, socklen_t user_value_size)
{
if (level != SOL_SOCKET)
return ENOPROTOOPT;
ASSERT(level == SOL_SOCKET);
switch (option) {
case SO_SNDTIMEO: