From ea1e15fdc46333f30a49c1d7761b52e589bf78cb Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Fri, 12 Mar 2021 13:16:38 +0100 Subject: avformat/mxfdec: Fix leak on error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was introduced in d3d9b1fc8e2dfc8b4d66c9916ab7221062ff4660; Fixes Coverity issue #733800. Reviewed-by: Tomas Härdin Signed-off-by: Andreas Rheinhardt --- libavformat/mxfdec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libavformat') diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 8fea35b86b..1f372affcb 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -2909,8 +2909,12 @@ static int mxf_read_local_tags(MXFContext *mxf, KLVPacket *klv, MXFMetadataReadF int size = avio_rb16(pb); /* KLV specified by 0x53 */ int64_t next = avio_tell(pb); UID uid = {0}; - if (next < 0 || next > INT64_MAX - size) + if (next < 0 || next > INT64_MAX - size) { + if (meta) { + mxf_free_metadataset(&meta, 1); + } return next < 0 ? next : AVERROR_INVALIDDATA; + } next += size; av_log(mxf->fc, AV_LOG_TRACE, "local tag %#04x size %d\n", tag, size); -- cgit v1.2.3