diff options
author | Simon Rettberg | 2015-01-27 19:41:49 +0100 |
---|---|---|
committer | Simon Rettberg | 2015-01-27 19:41:49 +0100 |
commit | 4e3d058edb6ff889a59c67c2c06be41657973e8f (patch) | |
tree | 52a86269e26471bfad8c84f520a1acc8e5375190 /src/server/uplink.c | |
parent | [SERVER] Fix automatic proxying to use supplied connection; fix race conditio... (diff) | |
download | dnbd3-4e3d058edb6ff889a59c67c2c06be41657973e8f.tar.gz dnbd3-4e3d058edb6ff889a59c67c2c06be41657973e8f.tar.xz dnbd3-4e3d058edb6ff889a59c67c2c06be41657973e8f.zip |
[SERVER] Also fix fd leak if uplink_init fails
Diffstat (limited to 'src/server/uplink.c')
-rw-r--r-- | src/server/uplink.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/server/uplink.c b/src/server/uplink.c index fdc4b27..dea0298 100644 --- a/src/server/uplink.c +++ b/src/server/uplink.c @@ -44,6 +44,7 @@ bool uplink_init(dnbd3_image_t *image, int sock, dnbd3_host_t *host) spin_lock( &image->lock ); if ( image->uplink != NULL ) { spin_unlock( &image->lock ); + if ( sock >= 0 ) close( sock ); return true; // There's already an uplink, so should we consider this success or failure? } if ( image->cache_map == NULL ) { |