summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorFernando Fernandez Mancera <ffernandezmancera@gmail.com>2018-01-08 15:31:41 +0100
committerFernando Fernandez Mancera <ffernandezmancera@gmail.com>2018-01-08 15:31:41 +0100
commit7353c9496e4f67321fbeee594cb8c488cff20aaf (patch)
tree45f411f1e5c686a0b3cf9541ba375fcceb2e4048 /src/common
parent4022277272b5213ef34cfeed46d006800b131687 (diff)
downloadtor-7353c9496e4f67321fbeee594cb8c488cff20aaf.tar.gz
tor-7353c9496e4f67321fbeee594cb8c488cff20aaf.zip
Add free_openssl() to crypto_openssl module.
Add free_openssl() function to free the memory allocated for OpenSSL version management variables. It is required since OpenSSL management has been isolated from the crypto module. Follows #24658. Signed-off-by: Fernando Fernandez Mancera <ffernandezmancera@gmail.com>
Diffstat (limited to 'src/common')
-rw-r--r--src/common/crypto.c3
-rw-r--r--src/common/crypto_openssl.c8
-rw-r--r--src/common/crypto_openssl.h3
3 files changed, 12 insertions, 2 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 0abb4a1afb..12f4270cc4 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -3348,8 +3348,7 @@ crypto_global_cleanup(void)
}
#endif /* !defined(NEW_THREAD_API) */
- tor_free(crypto_openssl_version_str);
- tor_free(crypto_openssl_header_version_str);
+ free_openssl();
return 0;
}
diff --git a/src/common/crypto_openssl.c b/src/common/crypto_openssl.c
index 03485c0520..e7495f9720 100644
--- a/src/common/crypto_openssl.c
+++ b/src/common/crypto_openssl.c
@@ -113,3 +113,11 @@ setup_openssl_threading(void)
return 0;
}
+/** free OpenSSL variables */
+void
+free_openssl(void)
+{
+ tor_free(crypto_openssl_version_str);
+ tor_free(crypto_openssl_header_version_str);
+}
+
diff --git a/src/common/crypto_openssl.h b/src/common/crypto_openssl.h
index 7b5545f69c..0c6bccad41 100644
--- a/src/common/crypto_openssl.h
+++ b/src/common/crypto_openssl.h
@@ -101,5 +101,8 @@ void tor_set_openssl_thread_id(CRYPTO_THREADID *threadid);
/* OpenSSL threading setup function */
int setup_openssl_threading(void);
+/* Tor OpenSSL utility functions */
+void free_openssl(void);
+
#endif /* !defined(TOR_CRYPTO_OPENSSL_H) */