This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Cygwin: accept4: Fix resource leak
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 5 Mar 2018 14:19:44 -0000
- Subject: [newlib-cygwin] Cygwin: accept4: Fix resource leak
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=00e87078302dcfca3b6ad04fd5af5d8f473171a9
commit 00e87078302dcfca3b6ad04fd5af5d8f473171a9
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Fri Mar 2 23:33:05 2018 +0100
Cygwin: accept4: Fix resource leak
The new implementation neglected to release the file descriptor
in case of error.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/fhandler_socket_inet.cc | 2 ++
winsup/cygwin/fhandler_socket_local.cc | 2 ++
2 files changed, 4 insertions(+)
diff --git a/winsup/cygwin/fhandler_socket_inet.cc b/winsup/cygwin/fhandler_socket_inet.cc
index a3aeccc..e65acff 100644
--- a/winsup/cygwin/fhandler_socket_inet.cc
+++ b/winsup/cygwin/fhandler_socket_inet.cc
@@ -895,6 +895,8 @@ fhandler_socket_inet::accept4 (struct sockaddr *peer, int *len, int flags)
*len = llen;
}
}
+ else
+ fd.release ();
}
if (ret == -1)
::closesocket (res);
diff --git a/winsup/cygwin/fhandler_socket_local.cc b/winsup/cygwin/fhandler_socket_local.cc
index 844cb9d..11f2c20 100644
--- a/winsup/cygwin/fhandler_socket_local.cc
+++ b/winsup/cygwin/fhandler_socket_local.cc
@@ -1012,6 +1012,8 @@ fhandler_socket_local::accept4 (struct sockaddr *peer, int *len, int flags)
*len = (int) sizeof (un.sun_family);
}
}
+ else
+ fd.release ();
}
if (ret == -1)
::closesocket (res);