From 3bd864efc21ca6aa8f67521b4ef6f6410d66fba2 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Thu, 6 Sep 2018 00:05:13 +0200 Subject: [PATCH] Fixed possible memory leak. --- src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp b/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp index 93f1b763..73d52231 100644 --- a/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp +++ b/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp @@ -468,6 +468,11 @@ shared_ptr TLSSocket_GnuTLS::getPeerCertifica int res = gnutls_x509_crt_import(x509Certs[i], rawData + i, GNUTLS_X509_FMT_DER); if (res < 0) { + + for (unsigned int j = 0 ; j <= i ; ++j) { + gnutls_x509_crt_deinit(x509Certs[j]); + } + // XXX more fine-grained error reporting? delete [] x509Certs; return null;