summaryrefslogtreecommitdiffstats
path: root/src/server/image.c
diff options
context:
space:
mode:
authorSimon Rettberg2015-01-27 19:41:49 +0100
committerSimon Rettberg2015-01-27 19:41:49 +0100
commit4e3d058edb6ff889a59c67c2c06be41657973e8f (patch)
tree52a86269e26471bfad8c84f520a1acc8e5375190 /src/server/image.c
parent[SERVER] Fix automatic proxying to use supplied connection; fix race conditio... (diff)
downloaddnbd3-4e3d058edb6ff889a59c67c2c06be41657973e8f.tar.gz
dnbd3-4e3d058edb6ff889a59c67c2c06be41657973e8f.tar.xz
dnbd3-4e3d058edb6ff889a59c67c2c06be41657973e8f.zip
[SERVER] Also fix fd leak if uplink_init fails
Diffstat (limited to 'src/server/image.c')
-rw-r--r--src/server/image.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/image.c b/src/server/image.c
index d8c7113..d20a149 100644
--- a/src/server/image.c
+++ b/src/server/image.c
@@ -943,7 +943,7 @@ dnbd3_image_t* image_getOrClone(char *name, uint16_t revision)
image = image_get( name, remoteRid, false );
if ( image != NULL && uplinkSock != -1 && uplinkServer != NULL ) {
// If so, init the uplink and pass it the socket
- uplink_init( image, uplinkSock, uplinkServer );
+ if ( !uplink_init( image, uplinkSock, uplinkServer ) ) close( uplinkSock );
i = 0;
while ( !image->working && ++i < 100 )
usleep( 1000 );