diff --git a/libs/esl/src/esl.c b/libs/esl/src/esl.c index 28c8927b6f..77f2b57b2c 100644 --- a/libs/esl/src/esl.c +++ b/libs/esl/src/esl.c @@ -985,8 +985,8 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * goto fail; } - memcpy(&handle->sockaddr, result->ai_addr, sizeof(handle->sockaddr)); - switch(handle->sockaddr.ss_family) { + memcpy(&handle->sockaddr, result->ai_addr, result->ai_addrlen); + switch(handle->sockaddr.ss_family) { case AF_INET: sockaddr_in = (struct sockaddr_in*)&(handle->sockaddr); sockaddr_in->sin_port = htons(port);