ffmpeg | branch: release/4.2 | Andreas Rheinhardt <andreas.rheinha...@gmail.com> | Tue Jan 7 14:55:46 2020 +0100| [efea91321e5eb702e8a37bf29cbd84aa2ad81acb] | committer: Andreas Rheinhardt
avformat/dashenc: Fix leak of AVFormatContext on error The Dash muxer uses submuxers and when one such submuxer has been allocated, it is initially only stored in a temporary variable. Therefore it leaks if an error happens between the allocation and storing it permanently. This commit changes this. Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> Reviewed-by: "Jeyapal, Karthick" <kjeya...@akamai.com> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit 8aeab0dbc159d65a20bb4cc89c2524b482fd867a) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=efea91321e5eb702e8a37bf29cbd84aa2ad81acb --- libavformat/dashenc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 24d43c34ea..f0e45da89a 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1207,10 +1207,6 @@ static int dash_init(AVFormatContext *s) dict_copy_entry(&as->metadata, s->streams[i]->metadata, "language"); dict_copy_entry(&as->metadata, s->streams[i]->metadata, "role"); - ctx = avformat_alloc_context(); - if (!ctx) - return AVERROR(ENOMEM); - if (c->init_seg_name) { os->init_seg_name = av_strireplace(c->init_seg_name, "$ext$", os->extension_name); if (!os->init_seg_name) @@ -1243,10 +1239,13 @@ static int dash_init(AVFormatContext *s) } } + os->ctx = ctx = avformat_alloc_context(); + if (!ctx) + return AVERROR(ENOMEM); + ctx->oformat = av_guess_format(os->format_name, NULL, NULL); if (!ctx->oformat) return AVERROR_MUXER_NOT_FOUND; - os->ctx = ctx; ctx->interrupt_callback = s->interrupt_callback; ctx->opaque = s->opaque; ctx->io_close = s->io_close; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".