From abf5e7bc212f4cc1e022907f92506ab33c19de44 Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 11 Dec 2019 13:11:59 -0300 Subject: [PATCH] avformat/tls_openssl: don't use libcrypto locking functions with newer OpenSSL versions They have been removed altogether without a compat implementation, and are either no-ops or return NULL. This fixes compiler warnings about checks always evaluating to false, and leaks of allocated mutexes. Signed-off-by: James Almer --- libavformat/tls_openssl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c index 53f8363a12..e305b2465a 100644 --- a/libavformat/tls_openssl.c +++ b/libavformat/tls_openssl.c @@ -48,7 +48,7 @@ typedef struct TLSContext { #endif } TLSContext; -#if HAVE_THREADS +#if HAVE_THREADS && OPENSSL_VERSION_NUMBER < 0x10100000L #include pthread_mutex_t *openssl_mutexes; static void openssl_lock(int mode, int type, const char *file, int line) @@ -79,7 +79,7 @@ int ff_openssl_init(void) SSL_library_init(); SSL_load_error_strings(); #endif -#if HAVE_THREADS +#if HAVE_THREADS && OPENSSL_VERSION_NUMBER < 0x10100000L if (!CRYPTO_get_locking_callback()) { int i; openssl_mutexes = av_malloc_array(sizeof(pthread_mutex_t), CRYPTO_num_locks()); @@ -108,7 +108,7 @@ void ff_openssl_deinit(void) ff_lock_avformat(); openssl_init--; if (!openssl_init) { -#if HAVE_THREADS +#if HAVE_THREADS && OPENSSL_VERSION_NUMBER < 0x10100000L if (CRYPTO_get_locking_callback() == openssl_lock) { int i; CRYPTO_set_locking_callback(NULL);