diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-08-10 02:19:35 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-08-18 14:25:30 +0200 |
commit | 0d560873da2fc851955e95957473026d2d2243cc (patch) | |
tree | 204362cfbfde9ad39a124a85b8b82407d786a9cf | |
parent | 6e0dd41fa3cdfd4b31d2c03c52e926231d7b2e73 (diff) | |
download | ffmpeg-0d560873da2fc851955e95957473026d2d2243cc.tar.gz |
avformat/mlvdec: Don't leak open AVIOContexts on error
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavformat/mlvdec.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/mlvdec.c b/libavformat/mlvdec.c index 7c7ced7f76..50913fa685 100644 --- a/libavformat/mlvdec.c +++ b/libavformat/mlvdec.c @@ -52,6 +52,8 @@ typedef struct { uint64_t pts; } MlvContext; +static int read_close(AVFormatContext *s); + static int probe(const AVProbeData *p) { if (AV_RL32(p->buf) == MKTAG('M','L','V','I') && @@ -376,6 +378,7 @@ static int read_header(AVFormatContext *avctx) if ((vst && !vst->nb_index_entries) || (ast && !ast->nb_index_entries)) { av_log(avctx, AV_LOG_ERROR, "no index entries found\n"); + read_close(avctx); return AVERROR_INVALIDDATA; } |