From 4263d60e3876cbb7a4bbdde67a7375a08253d335 Mon Sep 17 00:00:00 2001 From: Mathieu Rene Date: Thu, 12 Aug 2010 11:58:40 -0400 Subject: [PATCH] esl: fix leak-on-error in esl_connect_timeout() --- libs/esl/src/esl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/esl/src/esl.c b/libs/esl/src/esl.c index 98f0420179..48be3f93d1 100644 --- a/libs/esl/src/esl.c +++ b/libs/esl/src/esl.c @@ -646,9 +646,10 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * goto fail; } - memcpy(&handle->sockaddr, result->ai_addr, result->ai_addrlen); + memcpy(&handle->sockaddr, result->ai_addr, sizeof(handle->sockaddr)); handle->sockaddr.sin_family = AF_INET; handle->sockaddr.sin_port = htons(port); + freeaddrinfo(result); if (timeout) { #ifdef WIN32 @@ -711,7 +712,6 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * rval = 0; } - freeaddrinfo(result); result = NULL; if (rval) {