From 507ca8196ca3b88717aaa7dc2fa3bd54193548da Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 19 Apr 2018 11:34:06 +1000 Subject: [PATCH 1/2] esp-tls: Allow esp_tls_conn_delete() to be called with a NULL pointer --- components/esp-tls/esp_tls.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/components/esp-tls/esp_tls.c b/components/esp-tls/esp_tls.c index 5309d7796..73130a64d 100644 --- a/components/esp-tls/esp_tls.c +++ b/components/esp-tls/esp_tls.c @@ -230,11 +230,13 @@ exit: */ void esp_tls_conn_delete(esp_tls_t *tls) { - mbedtls_cleanup(tls); - if (tls->sockfd) { - close(tls->sockfd); + if (tls != NULL) { + mbedtls_cleanup(tls); + if (tls->sockfd) { + close(tls->sockfd); + } + free(tls); } - free(tls); }; static ssize_t tcp_write(esp_tls_t *tls, const char *data, size_t datalen) From 04103e96f53bffac2ec6dc6742fd3908efaf0ef1 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 19 Apr 2018 11:34:27 +1000 Subject: [PATCH 2/2] esp-tls: Log errors for all "connection failed" code paths --- components/esp-tls/esp_tls.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/esp-tls/esp_tls.c b/components/esp-tls/esp_tls.c index 73130a64d..941cb6848 100644 --- a/components/esp-tls/esp_tls.c +++ b/components/esp-tls/esp_tls.c @@ -83,6 +83,7 @@ static int esp_tcp_connect(const char *host, int hostlen, int port) int ret = socket(res->ai_family, res->ai_socktype, res->ai_protocol); if (ret < 0) { + ESP_LOGE(TAG, "Failed to create socket (family %d socktype %d protocol %d)", res->ai_family, res->ai_socktype, res->ai_protocol); goto err_freeaddr; } int fd = ret; @@ -98,12 +99,13 @@ static int esp_tcp_connect(const char *host, int hostlen, int port) p->sin6_family = AF_INET6; addr_ptr = p; } else { - /* Unsupported Protocol Family */ + ESP_LOGE(TAG, "Unsupported protocol family %d", res->ai_family); goto err_freesocket; } ret = connect(fd, addr_ptr, res->ai_addrlen); if (ret < 0) { + ESP_LOGE(TAG, "Failed to connnect to host (errno %d)", errno); goto err_freesocket; }