diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2019-08-27 17:21:00 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2020-01-06 11:30:43 +0100 |
commit | 3b61a7732de31ac437222ea2c68e43a4eefefb32 (patch) | |
tree | 174dc228eb5b15206c40d45a9388f5e73a02340c /libavcodec | |
parent | ccad8e7175980ae71db11daf43b00f598930392b (diff) | |
download | ffmpeg-3b61a7732de31ac437222ea2c68e43a4eefefb32.tar.gz |
libavcodec/utils: Free threads on init failure
Fixes: Multiple memleaks
Fixes: ffmpeg-memory-leak
Found-by: Francis Provencher <francis@protekresearchlab.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 61b055bed0968d60eb24a5080fb4ba2bcf73b753)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/utils.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 2e2283ffea..cfe40c59f7 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1025,6 +1025,9 @@ free_and_end: (avctx->codec->caps_internal & FF_CODEC_CAP_INIT_CLEANUP))) avctx->codec->close(avctx); + if (HAVE_THREADS && avctx->internal->thread_ctx) + ff_thread_free(avctx); + if (codec->priv_class && codec->priv_data_size) av_opt_free(avctx->priv_data); av_opt_free(avctx); |