tls/gnutls: zeroize allocated tls object

Initialize tls object with 0. This also sets tls->client_cert to NULL.
This commit is contained in:
Dmitry Podgorny
2021-03-23 02:11:09 +02:00
parent ee5f9fb77b
commit 588aea4f54

View File

@@ -178,6 +178,7 @@ tls_t *tls_new(xmpp_conn_t *conn)
tls_t *tls = xmpp_alloc(conn->ctx, sizeof(tls_t)); tls_t *tls = xmpp_alloc(conn->ctx, sizeof(tls_t));
if (tls) { if (tls) {
memset(tls, 0, sizeof(*tls));
tls->ctx = conn->ctx; tls->ctx = conn->ctx;
tls->sock = conn->sock; tls->sock = conn->sock;
gnutls_init(&tls->session, GNUTLS_CLIENT); gnutls_init(&tls->session, GNUTLS_CLIENT);
@@ -211,7 +212,8 @@ tls_t *tls_new(xmpp_conn_t *conn)
void tls_free(tls_t *tls) void tls_free(tls_t *tls)
{ {
gnutls_x509_crt_deinit(tls->client_cert); if (tls->client_cert)
gnutls_x509_crt_deinit(tls->client_cert);
gnutls_deinit(tls->session); gnutls_deinit(tls->session);
gnutls_certificate_free_credentials(tls->cred); gnutls_certificate_free_credentials(tls->cred);
xmpp_free(tls->ctx, tls); xmpp_free(tls->ctx, tls);