From be63952abf50e4f55d9c36dd6090083775e02b08 Mon Sep 17 00:00:00 2001 From: Leonid Evdokimov Date: Sat, 2 Feb 2008 00:29:19 +0600 Subject: [PATCH] Fixed socket leak in redsocks_connect_relay() --- redsocks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/redsocks.c b/redsocks.c index cae61a4..b768583 100644 --- a/redsocks.c +++ b/redsocks.c @@ -374,6 +374,7 @@ void redsocks_connect_relay(redsocks_client *client) log_errno("bufferevent_new"); goto fail; } + relay_fd = -1; error = bufferevent_enable(client->relay, EV_WRITE); // we wait for connection... if (error) { @@ -384,6 +385,8 @@ void redsocks_connect_relay(redsocks_client *client) return; // OK fail: + if (relay_fd != -1) + close(relay_fd); redsocks_drop_client(client); }