From 2ca36ef08bf6a1bf8e9ceb26d55695e92b28cdaf Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Tue, 21 Jul 2020 01:09:48 +0200 Subject: [PATCH] avformat/concatdec: Simplify cleanup after read_header failure by setting the FF_FMT_INIT_CLEANUP flag. (Btw: concat_read_close() is not idempotent (it frees cat->files, but doesn't reset cat->nb_files), so this demuxer was incompatible with simply calling read_close generically upon read_header failure.) Signed-off-by: Andreas Rheinhardt --- libavformat/concatdec.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c index 6d77398f48..96b4b96962 100644 --- a/libavformat/concatdec.c +++ b/libavformat/concatdec.c @@ -510,12 +510,9 @@ static int concat_read_header(AVFormatContext *avf) MATCH_ONE_TO_ONE; if ((ret = open_file(avf, 0)) < 0) goto fail; - av_bprint_finalize(&bp, NULL); - return 0; fail: av_bprint_finalize(&bp, NULL); - concat_read_close(avf); return ret; } @@ -779,6 +776,7 @@ const AVInputFormat ff_concat_demuxer = { .name = "concat", .long_name = NULL_IF_CONFIG_SMALL("Virtual concatenation script"), .priv_data_size = sizeof(ConcatContext), + .flags_internal = FF_FMT_INIT_CLEANUP, .read_probe = concat_probe, .read_header = concat_read_header, .read_packet = concat_read_packet,