Преглед на файлове

esp-tls: socket will be set to -1 and will not be closed

Closes https://github.com/espressif/esp-idf/issues/9847
Yuan Jian Min преди 3 години
родител
ревизия
9a97cfbffc
променени са 1 файла, в които са добавени 5 реда и са изтрити 2 реда
  1. 5 2
      components/esp-tls/esp_tls_mbedtls.c

+ 5 - 2
components/esp-tls/esp_tls_mbedtls.c

@@ -270,8 +270,11 @@ void esp_mbedtls_conn_delete(esp_tls_t *tls)
     if (tls != NULL) {
         esp_mbedtls_cleanup(tls);
         if (tls->is_tls) {
-            mbedtls_net_free(&tls->server_fd);
-            tls->sockfd = tls->server_fd.fd;
+            if (tls->server_fd.fd != -1) {
+                mbedtls_net_free(&tls->server_fd);
+                /* Socket is already closed by `mbedtls_net_free` and hence also change assignment of its copy to an invalid value */
+                tls->sockfd = -1;
+            }
         }
     }
 }