summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2018-02-26 18:02:36 +0100
committerCorinna Vinschen <corinna@vinschen.de>2018-02-26 18:02:36 +0100
commitb995936ab5ab43a28da5f82fae6abb70a0746492 (patch)
treeaeeb6892c48111df5e426f133538f4fd5064e244
parent4d75035244042e478626ac0e124bd314a8fe9864 (diff)
downloadcygnal-b995936ab5ab43a28da5f82fae6abb70a0746492.tar.gz
cygnal-b995936ab5ab43a28da5f82fae6abb70a0746492.tar.bz2
cygnal-b995936ab5ab43a28da5f82fae6abb70a0746492.zip
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 ();
}