From: Grigorii Demidov Date: Fri, 5 Jan 2018 07:15:39 +0000 (+0100) Subject: daemon/tls_ephemeral_credentials: avoid some memory leaks X-Git-Tag: v2.0.0~43^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90e397b8ae428cef4023f8dbffc0754e31a48b91;p=thirdparty%2Fknot-resolver.git daemon/tls_ephemeral_credentials: avoid some memory leaks --- diff --git a/daemon/tls_ephemeral_credentials.c b/daemon/tls_ephemeral_credentials.c index 9c96d86c7..6fe86b84e 100644 --- a/daemon/tls_ephemeral_credentials.c +++ b/daemon/tls_ephemeral_credentials.c @@ -114,6 +114,8 @@ static gnutls_x509_privkey_t get_ephemeral_privkey () bad_data: close(datafd); datafd = -1; + } + if (data.data != NULL) { gnutls_free(data.data); data.data = NULL; } @@ -150,8 +152,12 @@ static gnutls_x509_privkey_t get_ephemeral_privkey () } done: _lock_unlock(&lock, EPHEMERAL_PRIVKEY_FILENAME ".lock"); - if (datafd != -1) + if (datafd != -1) { close(datafd); + } + if (data.data != NULL) { + gnutls_free(data.data); + } return privkey; }