From cde9929ec6af3f49b850d0805cad43cf6f0cb11d Mon Sep 17 00:00:00 2001 From: chenyong <1521761801@qq.com> Date: Wed, 7 Mar 2018 10:22:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=80=E5=90=AFTLS?= =?UTF-8?q?=E6=97=B6webclient=5Fclose=E9=87=8D=E5=A4=8D=E9=87=8A=E6=94=BEs?= =?UTF-8?q?ocket=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webclient.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/webclient.c b/webclient.c index f2861e1..d199661 100644 --- a/webclient.c +++ b/webclient.c @@ -163,7 +163,6 @@ static int webclient_resolve_address(struct webclient_session *session, struct a int rc = WEBCLIENT_OK; char *ptr; char port_str[6] = "80"; /* default port of 80(http) */ - char port_tls_str[6] = "443"; /* default port of 443(https) */ const char *host_addr = 0; int url_len, host_addr_len = 0; @@ -177,6 +176,7 @@ static int webclient_resolve_address(struct webclient_session *session, struct a } else if(strncmp(url, "https://", 8) == 0) { + strncpy(port_str, "443", 4); host_addr = url + 8; } else @@ -240,7 +240,7 @@ static int webclient_resolve_address(struct webclient_session *session, struct a { int port_tls_len = ptr - port_tls_ptr - 1; - strncpy(port_tls_str, port_tls_ptr + 1, port_tls_len); + strncpy(port_str, port_tls_ptr + 1, port_tls_len); port_str[port_tls_len] = '\0'; host_addr_len = port_tls_ptr - host_addr; @@ -310,8 +310,8 @@ static int webclient_resolve_address(struct webclient_session *session, struct a #ifdef WEBCLIENT_USING_TLS if(session->tls_session) { - session->tls_session->port = rt_strdup(port_tls_str); - ret = getaddrinfo(session->tls_session->host, port_tls_str, &hint, res); + session->tls_session->port = rt_strdup(port_str); + ret = getaddrinfo(session->tls_session->host, port_str, &hint, res); if (ret != 0) { rt_kprintf("getaddrinfo err: %d '%s'\n", ret, session->host); @@ -1105,9 +1105,10 @@ int webclient_close(struct webclient_session *session) #ifdef WEBCLIENT_USING_TLS if(session->tls_session) mbedtls_client_close(session->tls_session); -#endif +#else if (session->socket >= 0) - closesocket(session->socket); + closesocket(session->socket); +#endif if(session->transfer_encoding) web_free(session->transfer_encoding); if(session->content_type)