提交 4263d60e authored 作者: Mathieu Rene's avatar Mathieu Rene

esl: fix leak-on-error in esl_connect_timeout()

上级 5a2042fc
...@@ -646,9 +646,10 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * ...@@ -646,9 +646,10 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
goto fail; 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_family = AF_INET;
handle->sockaddr.sin_port = htons(port); handle->sockaddr.sin_port = htons(port);
freeaddrinfo(result);
if (timeout) { if (timeout) {
#ifdef WIN32 #ifdef WIN32
...@@ -711,7 +712,6 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * ...@@ -711,7 +712,6 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
rval = 0; rval = 0;
} }
freeaddrinfo(result);
result = NULL; result = NULL;
if (rval) { if (rval) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论