diff --git a/Libraries/LibCore/TCPServer.cpp b/Libraries/LibCore/TCPServer.cpp index 83ebd867fd..0ef241b717 100644 --- a/Libraries/LibCore/TCPServer.cpp +++ b/Libraries/LibCore/TCPServer.cpp @@ -61,14 +61,17 @@ bool TCPServer::listen(const IPv4Address& address, u16 port) if (m_listening) return false; - int rc; auto socket_address = SocketAddress(address, port); auto in = socket_address.to_sockaddr_in(); - rc = ::bind(m_fd, (const sockaddr*)&in, sizeof(in)); - ASSERT(rc == 0); + if (::bind(m_fd, (const sockaddr*)&in, sizeof(in)) < 0) { + perror("TCPServer::listen: bind"); + return false; + } - rc = ::listen(m_fd, 5); - ASSERT(rc == 0); + if (::listen(m_fd, 5) < 0) { + perror("TCPServer::listen: listen"); + return false; + } m_listening = true; m_notifier = Notifier::construct(m_fd, Notifier::Event::Read, this); diff --git a/Services/TelnetServer/main.cpp b/Services/TelnetServer/main.cpp index 3fd26aff42..3e77a8e345 100644 --- a/Services/TelnetServer/main.cpp +++ b/Services/TelnetServer/main.cpp @@ -126,7 +126,7 @@ int main(int argc, char** argv) } if (!server->listen({}, port)) { - perror("listen"); + warnf("Listening on 0.0.0.0:{} failed", port); exit(1); } diff --git a/Services/WebServer/main.cpp b/Services/WebServer/main.cpp index 1aa67fbb4d..22e28f9840 100644 --- a/Services/WebServer/main.cpp +++ b/Services/WebServer/main.cpp @@ -73,8 +73,12 @@ int main(int argc, char** argv) client->start(); }; - server->listen({}, port); - printf("Listening on 0.0.0.0:%d\n", port); + if (!server->listen({}, port)) { + warnf("Failed to listen on 0.0.0.0:{}", port); + return 1; + } + + outf("Listening on 0.0.0.0:{}", port); if (unveil("/res/icons", "r") < 0) { perror("unveil");