avformat/mxfdec: Fix leak on error

It was introduced in d3d9b1fc8e2dfc8b4d66c9916ab7221062ff4660;
Fixes Coverity issue #733800.

Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2021-03-12 13:16:38 +01:00
parent 9224b1f6b3
commit ea1e15fdc4

View File

@ -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);