summaryrefslogtreecommitdiff
path: root/components/net
diff options
context:
space:
mode:
authorKeyun-Johan <[email protected]>2020-04-12 19:22:19 +0800
committerKeyun-Johan <[email protected]>2020-04-12 19:22:19 +0800
commit63e855d78a036891f1bcc49b771c928736288d7e (patch)
tree3c67f3deb869376159a8955207cad4708921b4cb /components/net
parent00f50941500ba250bb53e0beb84d75395140f2bd (diff)
socket_new()成功后,后续函数不成功返回-1,没有删除socket
Diffstat (limited to 'components/net')
-rw-r--r--components/net/sal_socket/src/sal_socket.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c
index e5c55f8bf8..a79890eb27 100644
--- a/components/net/sal_socket/src/sal_socket.c
+++ b/components/net/sal_socket/src/sal_socket.c
@@ -917,6 +917,7 @@ int sal_socket(int domain, int type, int protocol)
socket = socket_new();
if (socket < 0)
{
+ socket_delete(socket);
return -1;
}
@@ -924,6 +925,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 +958,7 @@ int sal_socket(int domain, int type, int protocol)
sock->user_data = (void *) proto_socket;
return sock->socket;
}
-
+ socket_delete(socket);
return -1;
}