diff --git a/net/kernel_socket.cpp b/net/kernel_socket.cpp index 49a2a051..776571ff 100644 --- a/net/kernel_socket.cpp +++ b/net/kernel_socket.cpp @@ -340,6 +340,9 @@ class KernelSocketServer : public SocketServerBase { } int bind(uint16_t port, IPAddr addr) override { + if (m_socket_family == AF_INET6 && addr.empty()) { + addr = IPAddr::V6Any(); + } sockaddr_storage s{}; auto ep = EndPoint(addr, port); return ::bind(m_listen_fd, ep.get_sockaddr(s), ep.get_sockaddr_len());