]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/utils: Also free encoder extradata on avcodec_open2() error
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 26 Sep 2020 09:18:13 +0000 (11:18 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 1 Oct 2020 11:34:57 +0000 (13:34 +0200)
It is owned by libavcodec for encoders.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/utils.c

index 05064b560fc461cf6e810e4ad79d37acab42207e..a976ceb260796b219ed5480d30f522ddf401658c 100644 (file)
@@ -1034,11 +1034,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);