summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2020-03-21 18:31:06 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-07-08 14:21:49 +0200
commit21e40af378106ce4f5a7c9b2d177913bd5c0f7b2 (patch)
treed7ae9b6c44d03a2d332e908c263e129353a4a67d
parentc1141aa71a0381c2ec9667ee146e67fa690d04b4 (diff)
avformat/vividas: Simplify cleanup after read_header failure
by setting the FF_FMT_INIT_CLEANUP flag. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavformat/vividas.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libavformat/vividas.c b/libavformat/vividas.c
index a7deab0e51..8d1c1dab29 100644
--- a/libavformat/vividas.c
+++ b/libavformat/vividas.c
@@ -613,7 +613,7 @@ static int viv_read_header(AVFormatContext *s)
ret = track_index(viv, s, buf, v);
av_free(buf);
if (ret < 0)
- goto fail;
+ return ret;
viv->sb_offset = avio_tell(pb);
if (viv->n_sb_blocks > 0) {
@@ -624,9 +624,6 @@ static int viv_read_header(AVFormatContext *s)
}
return 0;
-fail:
- av_freep(&viv->sb_blocks);
- return ret;
}
static int viv_read_packet(AVFormatContext *s,
@@ -785,6 +782,7 @@ const AVInputFormat ff_vividas_demuxer = {
.name = "vividas",
.long_name = NULL_IF_CONFIG_SMALL("Vividas VIV"),
.priv_data_size = sizeof(VividasDemuxContext),
+ .flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = viv_probe,
.read_header = viv_read_header,
.read_packet = viv_read_packet,