From: Steven Schweda Date: Fri, 4 Nov 2011 21:31:48 +0000 (+0100) Subject: gnutls: fix memory leak. X-Git-Tag: v1.14~70 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=127036d3ec956c1d5f7e9c206a1a74d65c0f9be8 gnutls: fix memory leak. --- diff --git a/src/ChangeLog b/src/ChangeLog index 65c48072..d1358bfa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,6 @@ -2011-11-04 Giuseppe Scrivano +2011-11-01 Steven Schweda + * gnutls.c (ssl_init): Ensure GNU TLS is loaded only once. 2011-10-07 Steven Schweda diff --git a/src/gnutls.c b/src/gnutls.c index 40a04ef3..e4b0fc2e 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -63,6 +63,13 @@ static gnutls_certificate_credentials credentials; bool ssl_init () { + /* Becomes true if GnuTLS is initialized. */ + static bool ssl_initialized = false; + + /* GnuTLS should be initialized only once. */ + if (ssl_initialized) + return true; + const char *ca_directory; DIR *dir; @@ -104,6 +111,9 @@ ssl_init () if (opt.ca_cert) gnutls_certificate_set_x509_trust_file (credentials, opt.ca_cert, GNUTLS_X509_FMT_PEM); + + ssl_initialized = true; + return true; }