From 211f23d7897c48bb954e40134a6d6c3ac477b198 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 26 Sep 2020 11:18:13 +0200 Subject: [PATCH] avcodec/utils: Also free encoder extradata on avcodec_open2() error It is owned by libavcodec for encoders. Signed-off-by: Andreas Rheinhardt (cherry picked from commit b8e0ceda11f7a12d763c6a744943347fc808b8b7) --- libavcodec/utils.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 0f589b6929..81e34254e8 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1036,11 +1036,15 @@ free_and_end: av_opt_free(avctx->priv_data); av_opt_free(avctx); + if (av_codec_is_encoder(avctx->codec)) { #if FF_API_CODED_FRAME FF_DISABLE_DEPRECATION_WARNINGS av_frame_free(&avctx->coded_frame); FF_ENABLE_DEPRECATION_WARNINGS #endif + av_freep(&avctx->extradata); + avctx->extradata_size = 0; + } av_dict_free(&tmp); av_freep(&avctx->priv_data);