aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-06-14 03:07:28 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-07-02 01:01:30 +0200
commitbe57a2ce9efaa7ce5ed4d7e2d4d873f2a71137b4 (patch)
treebe5f27330366648cc3af5e2238bb67193c3c105e
parentb9be0b6fe869d4045da0e78a7d3f92255f8eb680 (diff)
downloadffmpeg-be57a2ce9efaa7ce5ed4d7e2d4d873f2a71137b4.tar.gz
avformat/assdec: Fix memleak upon read header failure
The already parsed subtitles (contained in an FFDemuxSubtitlesQueue) would leak if an error happened upon reading a subsequent subtitle or if creating the extradata failed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> (cherry picked from commit 5ab39c2d8c1e5e00b48d758eee7d5ae435a99ef7) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavformat/assdec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/assdec.c b/libavformat/assdec.c
index d89c14e5b8..3b580fc4d2 100644
--- a/libavformat/assdec.c
+++ b/libavformat/assdec.c
@@ -160,6 +160,8 @@ static int ass_read_header(AVFormatContext *s)
ff_subtitles_queue_finalize(s, &ass->q);
end:
+ if (res < 0)
+ ass_read_close(s);
av_bprint_finalize(&header, NULL);
av_bprint_finalize(&line, NULL);
av_bprint_finalize(&rline, NULL);