diff options
| author | Bluebear233 <[email protected]> | 2018-05-27 21:37:08 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-05-27 21:37:08 +0800 |
| commit | ec81f44ff9beeb9c163b4cd01456d190dd47a7a9 (patch) | |
| tree | 666179244446f8c890b3f26b44309b5891136e7b /components | |
| parent | 51db86ca52c05ece57831151adb0970dca7610f0 (diff) | |
Update net_sockets.c
修复创建socket失败仍然返回有效的fd
Diffstat (limited to 'components')
| -rw-r--r-- | components/dfs/filesystems/net/net_sockets.c | 10 |
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); |
