1
0
Эх сурвалжийг харах

socket_new()成功后,后续函数不成功返回-1,没有删除socket

Keyun-Johan 5 жил өмнө
parent
commit
63e855d78a

+ 3 - 1
components/net/sal_socket/src/sal_socket.c

@@ -917,6 +917,7 @@ int sal_socket(int domain, int type, int protocol)
     socket = socket_new();
     socket = socket_new();
     if (socket < 0)
     if (socket < 0)
     {
     {
+        socket_delete(socket);
         return -1;
         return -1;
     }
     }
 
 
@@ -924,6 +925,7 @@ int sal_socket(int domain, int type, int protocol)
     sock = sal_get_socket(socket);
     sock = sal_get_socket(socket);
     if (sock == RT_NULL)
     if (sock == RT_NULL)
     {
     {
+        socket_delete(socket);
         return -1;
         return -1;
     }
     }
 
 
@@ -956,7 +958,7 @@ int sal_socket(int domain, int type, int protocol)
         sock->user_data = (void *) proto_socket;
         sock->user_data = (void *) proto_socket;
         return sock->socket;
         return sock->socket;
     }
     }
-
+    socket_delete(socket);
     return -1;
     return -1;
 }
 }