Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2018-02-26 20:02:36 +0300
committerCorinna Vinschen <corinna@vinschen.de>2018-02-26 20:02:36 +0300
commitb995936ab5ab43a28da5f82fae6abb70a0746492 (patch)
treeaeeb6892c48111df5e426f133538f4fd5064e244
parent4d75035244042e478626ac0e124bd314a8fe9864 (diff)
Cygwin: sockets: Add missing cleanup if socket/socketpair creation fails
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/net.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 4fcc577bb..25f94d684 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -548,7 +548,10 @@ cygwin_socket (int af, int type, int protocol)
res = fd;
}
else
- fd.release ();
+ {
+ delete fh;
+ fd.release ();
+ }
}
done:
@@ -2346,6 +2349,8 @@ socketpair (int af, int type, int protocol, int *sb)
}
else
{
+ delete fh_in;
+ delete fh_out;
fd_in.release ();
fd_out.release ();
}