summaryrefslogtreecommitdiffstats
path: root/src/fuse
diff options
context:
space:
mode:
authorSimon Rettberg2017-11-07 13:04:19 +0100
committerSimon Rettberg2017-11-07 13:04:19 +0100
commitdd8341e8476d7e4d319fc0a307a12ad0997b5f7f (patch)
tree473532a5a7bf72aa578bede7d7801b7687fd40ff /src/fuse
parent[FUSE] Make use of sock_multiConnect() for initial connection (diff)
downloaddnbd3-dd8341e8476d7e4d319fc0a307a12ad0997b5f7f.tar.gz
dnbd3-dd8341e8476d7e4d319fc0a307a12ad0997b5f7f.tar.xz
dnbd3-dd8341e8476d7e4d319fc0a307a12ad0997b5f7f.zip
[FUSE] Reset salen before getpeername() call
Diffstat (limited to 'src/fuse')
-rw-r--r--src/fuse/connection.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/fuse/connection.c b/src/fuse/connection.c
index 34feebc..5162364 100644
--- a/src/fuse/connection.c
+++ b/src/fuse/connection.c
@@ -96,7 +96,7 @@ bool connection_init(const char *hosts, const char *lowerImage, const uint16_t r
char *remoteName;
uint64_t remoteSize;
struct sockaddr_storage sa;
- socklen_t salen = sizeof(sa);
+ socklen_t salen;
poll_list_t *cons = sock_newPollList();
pthread_mutex_lock( &mutexInit );
@@ -143,6 +143,7 @@ bool connection_init(const char *hosts, const char *lowerImage, const uint16_t r
if ( sock == -2 || sock == -1 )
continue;
}
+ salen = sizeof(sa);
if ( getpeername( sock, (struct sockaddr*)&sa, &salen ) == -1 ) {
logadd( LOG_ERROR, "getpeername on successful connection failed!? (errno=%d)", errno );
close( sock );