From: Mathieu Rene Date: Thu, 12 Aug 2010 15:58:40 +0000 (-0400) Subject: esl: fix leak-on-error in esl_connect_timeout() X-Git-Tag: v1.2-rc1~526^2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4263d60e3876cbb7a4bbdde67a7375a08253d335;p=thirdparty%2Ffreeswitch.git esl: fix leak-on-error in esl_connect_timeout() --- 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) {