summaryrefslogtreecommitdiff
path: root/components/net/sal_socket/src/sal_socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'components/net/sal_socket/src/sal_socket.c')
-rw-r--r--components/net/sal_socket/src/sal_socket.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c
index e5c55f8bf8..e3bea5a28e 100644
--- a/components/net/sal_socket/src/sal_socket.c
+++ b/components/net/sal_socket/src/sal_socket.c
@@ -679,7 +679,7 @@ int sal_shutdown(int socket, int how)
/* get the socket object by socket descriptor */
SAL_SOCKET_OBJ_GET(sock, socket);
- /* shutdown operation not nead to check network interface status */
+ /* shutdown operation not need to check network interface status */
/* check the network interface socket opreation */
SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, shutdown);
@@ -924,6 +924,7 @@ int sal_socket(int domain, int type, int protocol)
sock = sal_get_socket(socket);
if (sock == RT_NULL)
{
+ socket_delete(socket);
return -1;
}
@@ -956,7 +957,7 @@ int sal_socket(int domain, int type, int protocol)
sock->user_data = (void *) proto_socket;
return sock->socket;
}
-
+ socket_delete(socket);
return -1;
}
@@ -969,7 +970,7 @@ int sal_closesocket(int socket)
/* get the socket object by socket descriptor */
SAL_SOCKET_OBJ_GET(sock, socket);
- /* clsoesocket operation not nead to vaild network interface status */
+ /* clsoesocket operation not need to vaild network interface status */
/* valid the network interface socket opreation */
SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, socket);