diff --git a/components/dfs/filesystems/net/net_sockets.c b/components/dfs/filesystems/net/net_sockets.c index a22fbdc9add3aec6a33ed1d2a4560aea364d6d17..4f33571129c293322cc1a3a55b4c978852f00700 100644 --- a/components/dfs/filesystems/net/net_sockets.c +++ b/components/dfs/filesystems/net/net_sockets.c @@ -327,6 +327,13 @@ RTM_EXPORT(socket); int closesocket(int s) { int sock = dfs_net_getsocket(s); + struct dfs_fd *d; + + d = fd_get(s); + + /* socket has been closed, delete it from file system fd */ + fd_put(d); + fd_put(d); return lwip_close(sock); }