Signed-off-by: Michael Niedermayer <michae...@gmx.at> --- libavformat/network.c | 6 +++++- libavformat/network.h | 2 +- libavformat/tls.c | 3 ++- libavformat/utils.c | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/libavformat/network.c b/libavformat/network.c index 9f02ec6..e9eab29 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -66,7 +66,7 @@ GCRY_THREAD_OPTION_PTHREAD_IMPL; #endif #endif -void ff_tls_init(void) +int ff_tls_init(void) { avpriv_lock_avformat(); #if CONFIG_OPENSSL @@ -77,6 +77,8 @@ void 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) + return AVERROR(ENOMEM); for (i = 0; i < CRYPTO_num_locks(); i++) pthread_mutex_init(&openssl_mutexes[i], NULL); CRYPTO_set_locking_callback(openssl_lock); @@ -96,6 +98,8 @@ void ff_tls_init(void) gnutls_global_init(); #endif avpriv_unlock_avformat(); + + return 0; } void ff_tls_deinit(void) diff --git a/libavformat/network.h b/libavformat/network.h index 0d1081a..86fb656 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -78,7 +78,7 @@ extern int ff_network_inited_globally; int ff_network_init(void); void ff_network_close(void); -void ff_tls_init(void); +int ff_tls_init(void); void ff_tls_deinit(void); int ff_network_wait_fd(int fd, int write); diff --git a/libavformat/tls.c b/libavformat/tls.c index d6a6be3..942083b 100644 --- a/libavformat/tls.c +++ b/libavformat/tls.c @@ -175,7 +175,8 @@ static int tls_open(URLContext *h, const char *uri, int flags) const char *proxy_path; int use_proxy; - ff_tls_init(); + if ((ret = ff_tls_init()) < 0) + return ret; if (c->listen) snprintf(opts, sizeof(opts), "?listen=1"); diff --git a/libavformat/utils.c b/libavformat/utils.c index 1124783..2f07efc 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -4097,7 +4097,8 @@ int avformat_network_init(void) ff_network_inited_globally = 1; if ((ret = ff_network_init()) < 0) return ret; - ff_tls_init(); + if ((ret = ff_tls_init()) < 0) + return ret; #endif return 0; } -- 1.7.9.5 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel