From: Willy Tarreau Date: Tue, 14 Mar 2017 13:50:05 +0000 (+0100) Subject: CONTRIB: tcploop: fix connect's address length X-Git-Tag: v1.8-dev1~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24d41b9b4d009a9ae1aaae54de0be9a0281ba198;p=thirdparty%2Fhaproxy.git CONTRIB: tcploop: fix connect's address length FreeBSD wants the address size to be correct, so let's pass the size of a sockaddr_in struct, not the sockaddr_storage. --- diff --git a/contrib/tcploop/tcploop.c b/contrib/tcploop/tcploop.c index 9e6d7473e0..d1995f46e4 100644 --- a/contrib/tcploop/tcploop.c +++ b/contrib/tcploop/tcploop.c @@ -424,7 +424,7 @@ int tcp_connect(const struct sockaddr_storage *sa, const char *arg) if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) == -1) goto fail; - if (connect(sock, (const struct sockaddr *)sa, sizeof(*sa)) < 0) { + if (connect(sock, (const struct sockaddr *)sa, sizeof(struct sockaddr_in)) < 0) { if (errno != EINPROGRESS) goto fail; }