From c7e8dce2473046cc867c9606f050e55944ac31d0 Mon Sep 17 00:00:00 2001 From: Jeff Lenk Date: Sat, 17 Nov 2012 21:38:07 -0600 Subject: [PATCH] FS-4828 --resolve --- libs/esl/src/esl.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/esl/src/esl.c b/libs/esl/src/esl.c index 3972e7a7b4..59da3d0ab9 100644 --- a/libs/esl/src/esl.c +++ b/libs/esl/src/esl.c @@ -918,6 +918,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * struct addrinfo hints = { 0 }, *result; struct sockaddr_in *sockaddr_in; struct sockaddr_in6 *sockaddr_in6; + socklen_t socklen; #ifndef WIN32 int fd_flags = 0; #else @@ -951,10 +952,12 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * case AF_INET: sockaddr_in = (struct sockaddr_in*)&(handle->sockaddr); sockaddr_in->sin_port = htons(port); + socklen = sizeof(struct sockaddr_in); break; case AF_INET6: sockaddr_in6 = (struct sockaddr_in6*)&(handle->sockaddr); sockaddr_in6->sin6_port = htons(port); + socklen = sizeof(struct sockaddr_in6); break; default: strncpy(handle->err, "Host resolves to unsupported address family", sizeof(handle->err)); @@ -985,7 +988,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * #endif } - rval = connect(handle->sock, (struct sockaddr*)&handle->sockaddr, sizeof(handle->sockaddr)); + rval = connect(handle->sock, (struct sockaddr*)&handle->sockaddr, socklen); if (timeout) { int r;