From: Willy Tarreau Date: Thu, 6 Sep 2012 12:04:41 +0000 (+0200) Subject: BUG: tcp: close socket fd upon connect error X-Git-Tag: v1.5-dev12~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=184636e3e765eeb12f4887e1b82aef4ca6422264;p=thirdparty%2Fhaproxy.git BUG: tcp: close socket fd upon connect error When the data layer fails to initialize (eg: out of memory for SSL), we must close the socket fd we just allocated. --- diff --git a/src/proto_tcp.c b/src/proto_tcp.c index b43731cb91..f819147820 100644 --- a/src/proto_tcp.c +++ b/src/proto_tcp.c @@ -459,8 +459,10 @@ int tcp_connect_server(struct connection *conn, int data) fd_insert(fd); conn_sock_want_send(conn); /* for connect status */ - if (conn_data_init(conn) < 0) + if (conn_data_init(conn) < 0) { + fd_delete(fd); return SN_ERR_RESOURCE; + } if (data) conn_data_want_send(conn); /* prepare to send data if any */