summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-01-07 14:55:48 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-07-02 10:04:24 +0200
commit8d20be08efe69de16bfa6847e88da439029ff59d (patch)
tree9a579ed74aad7563602a707acb1982808b6f874e
parent4e9ecae1719a496125f463ca23bd6e0af3e48e6e (diff)
downloadffmpeg-8d20be08efe69de16bfa6847e88da439029ff59d.tar.gz
avformat/wtvdec: Fix memleak when reading header fails
Fixes #8314. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: James Almer <jamrial@gmail.com> (cherry picked from commit 373c1c9b691fd4c6831b3a114a006b639304c2af) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavformat/wtvdec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c
index b9648c02d6..7971026db6 100644
--- a/libavformat/wtvdec.c
+++ b/libavformat/wtvdec.c
@@ -993,8 +993,10 @@ static int read_header(AVFormatContext *s)
}
ret = parse_chunks(s, SEEK_TO_DATA, 0, 0);
- if (ret < 0)
+ if (ret < 0) {
+ wtvfile_close(wtv->pb);
return ret;
+ }
avio_seek(wtv->pb, -32, SEEK_CUR);
timeline_pos = avio_tell(s->pb); // save before opening another file