|
|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|