Browse Source

Kernel: listen() should fail with EINVAL for already-connected sockets

This according to POSIX.
Andreas Kling 5 years ago
parent
commit
23a2e84873
1 changed files with 2 additions and 0 deletions
  1. 2 0
      Kernel/Process.cpp

+ 2 - 0
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);
 }