summaryrefslogtreecommitdiff
path: root/libavformat/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/network.c')
-rw-r--r--libavformat/network.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/network.c b/libavformat/network.c
index e9eab297e2..57a5b418e7 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -77,8 +77,10 @@ int ff_tls_init(void)
if (!CRYPTO_get_locking_callback()) {
int i;
openssl_mutexes = av_malloc_array(sizeof(pthread_mutex_t), CRYPTO_num_locks());
- if (!openssl_mutexes)
+ if (!openssl_mutexes) {
+ avpriv_unlock_avformat();
return AVERROR(ENOMEM);
+ }
for (i = 0; i < CRYPTO_num_locks(); i++)
pthread_mutex_init(&openssl_mutexes[i], NULL);
CRYPTO_set_locking_callback(openssl_lock);