summaryrefslogtreecommitdiffstatshomepage
path: root/extmod/modussl_mbedtls.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-07-25 14:00:45 +1000
committerDamien George <damien.p.george@gmail.com>2017-07-25 14:00:45 +1000
commit0893b273b9471acb02510820f61753501dc04219 (patch)
tree732c488cdfb77afb6feed6936283620ddc36184d /extmod/modussl_mbedtls.c
parent363087aa11a5121ecff38f9e3a2372a42fa224ac (diff)
downloadmicropython-0893b273b9471acb02510820f61753501dc04219.tar.gz
micropython-0893b273b9471acb02510820f61753501dc04219.zip
extmod/modussl_mbedtls: Make socket.close() free all TLS resources.
Also, use mp_stream_close() helper to close the underlying socket.
Diffstat (limited to 'extmod/modussl_mbedtls.c')
-rw-r--r--extmod/modussl_mbedtls.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/extmod/modussl_mbedtls.c b/extmod/modussl_mbedtls.c
index ef3f319fe1..8c90c2cf46 100644
--- a/extmod/modussl_mbedtls.c
+++ b/extmod/modussl_mbedtls.c
@@ -227,15 +227,15 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(socket_setblocking_obj, socket_setblocking);
STATIC mp_obj_t socket_close(mp_obj_t self_in) {
mp_obj_ssl_socket_t *self = MP_OBJ_TO_PTR(self_in);
+ mbedtls_pk_free(&self->pkey);
+ mbedtls_x509_crt_free(&self->cert);
mbedtls_x509_crt_free(&self->cacert);
mbedtls_ssl_free(&self->ssl);
mbedtls_ssl_config_free(&self->conf);
mbedtls_ctr_drbg_free(&self->ctr_drbg);
mbedtls_entropy_free(&self->entropy);
- mp_obj_t dest[2];
- mp_load_method(self->sock, MP_QSTR_close, dest);
- return mp_call_method_n_kw(0, 0, dest);
+ return mp_stream_close(self->sock);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(socket_close_obj, socket_close);