diff --git a/src/proto_tcp.c b/src/proto_tcp.c index b43731cb9..f81914782 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 */