aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/samidec.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-06-14 03:21:46 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-07-01 21:37:08 +0200
commit5c9f00b47ea49425a3df3f0de4bea4c02d97e739 (patch)
treeb97a3732c85909f1ecc75ac17353f947bd730af6 /libavformat/samidec.c
parentbdde2f25edccb688658bff0af1fdd3a31e0ded5c (diff)
downloadffmpeg-5c9f00b47ea49425a3df3f0de4bea4c02d97e739.tar.gz
avformat/samidec: 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 when creating extradata. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> (cherry picked from commit f161f8e4ad10c8ae5b2e97870e09bc6a421408eb) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat/samidec.c')
-rw-r--r--libavformat/samidec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/samidec.c b/libavformat/samidec.c
index fd98393086..3070ef9bac 100644
--- a/libavformat/samidec.c
+++ b/libavformat/samidec.c
@@ -108,6 +108,8 @@ static int sami_read_header(AVFormatContext *s)
ff_subtitles_queue_finalize(s, &sami->q);
end:
+ if (res < 0)
+ ff_subtitles_queue_clean(&sami->q);
av_bprint_finalize(&buf, NULL);
return res;
}