From 1c495b933cee3381f1ea6a70edcbcda1754d7409 Mon Sep 17 00:00:00 2001 From: Nick Parker Date: Wed, 1 Mar 2017 15:35:43 -0600 Subject: [PATCH] Guard OpenSSL init and cleanup routines on versions less than 1.1.0 --- src/crypto_openssl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c index 14f28b73..b48f982a 100644 --- a/src/crypto_openssl.c +++ b/src/crypto_openssl.c @@ -110,7 +110,9 @@ static int sqlcipher_openssl_activate(void *ctx) { if(openssl_init_count == 0 && openssl_external_init == 0) { /* if the library was not externally initialized, then should be now */ +#if OPENSSL_VERSION_NUMBER < 0x10100000L OpenSSL_add_all_algorithms(); +#endif } #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND @@ -139,7 +141,9 @@ static int sqlcipher_openssl_deactivate(void *ctx) { Note: this code will only be reached if OpensSSL_add_all_algorithms() is called by SQLCipher internally. This should prevent SQLCipher from "cleaning up" openssl when it was initialized externally by the program */ +#if OPENSSL_VERSION_NUMBER < 0x10100000L EVP_cleanup(); +#endif } else { openssl_external_init = 0; }