From 6c5757eedb36fdd43e79d0f457e2f254425a235d Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Fri, 23 Sep 2011 02:11:32 +0000 Subject: [PATCH] Check if the socket has been created successfully. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42766 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/stack/net_socket.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/network/stack/net_socket.cpp b/src/add-ons/kernel/network/stack/net_socket.cpp index ac626a4fa1..7346769f2a 100644 --- a/src/add-ons/kernel/network/stack/net_socket.cpp +++ b/src/add-ons/kernel/network/stack/net_socket.cpp @@ -185,12 +185,17 @@ create_socket(int family, int type, int protocol, net_socket_private** _socket) struct net_socket_private* socket = new(std::nothrow) net_socket_private; if (socket == NULL) return B_NO_MEMORY; + status_t status = socket->InitCheck(); + if (status != B_OK) { + delete socket; + return status; + } socket->family = family; socket->type = type; socket->protocol = protocol; - status_t status = get_domain_protocols(socket); + status = get_domain_protocols(socket); if (status != B_OK) { delete socket; return status;