From 23a2e84873a8aecb9d90c9f868a388858d191e9c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 27 Nov 2019 16:01:22 +0100 Subject: [PATCH] Kernel: listen() should fail with EINVAL for already-connected sockets This according to POSIX. --- Kernel/Process.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index c4be91dcce..08ac19e057 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2438,6 +2438,8 @@ int Process::sys$listen(int sockfd, int backlog) if (!description->is_socket()) return -ENOTSOCK; auto& socket = *description->socket(); + if (socket.is_connected()) + return -EINVAL; return socket.listen(backlog); }