summaryrefslogtreecommitdiff
path: root/components/dfs
diff options
context:
space:
mode:
authorBluebear233 <[email protected]>2018-05-27 21:37:08 +0800
committerGitHub <[email protected]>2018-05-27 21:37:08 +0800
commitec81f44ff9beeb9c163b4cd01456d190dd47a7a9 (patch)
tree666179244446f8c890b3f26b44309b5891136e7b /components/dfs
parent51db86ca52c05ece57831151adb0970dca7610f0 (diff)
Update net_sockets.c
修复创建socket失败仍然返回有效的fd
Diffstat (limited to 'components/dfs')
-rw-r--r--components/dfs/filesystems/net/net_sockets.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/components/dfs/filesystems/net/net_sockets.c b/components/dfs/filesystems/net/net_sockets.c
index 4f33571129..802cd05b7c 100644
--- a/components/dfs/filesystems/net/net_sockets.c
+++ b/components/dfs/filesystems/net/net_sockets.c
@@ -316,6 +316,16 @@ int socket(int domain, int type, int protocol)
rt_list_init(&(lwsock->wait_head));
lwsock->conn->callback = event_callback;
}
+ else
+ {
+ /* release fd */
+ fd_put(d);
+ fd_put(d);
+
+ rt_set_errno(-ENOMEM);
+
+ return -1;
+ }
/* release the ref-count of fd */
fd_put(d);