https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b995936ab5ab43a28da5f82fae6abb70a0746492

commit b995936ab5ab43a28da5f82fae6abb70a0746492
Author: Corinna Vinschen <cori...@vinschen.de>
Date:   Mon Feb 26 18:02:36 2018 +0100

    Cygwin: sockets: Add missing cleanup if socket/socketpair creation fails
    
    Signed-off-by: Corinna Vinschen <cori...@vinschen.de>

Diff:
---
 winsup/cygwin/net.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 4fcc577..25f94d6 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 ();
        }

Reply via email to