avformat/mxfdec: Free all types for both Descriptors

Fixes: memleak
Fixes: 26352/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5201158714687488

Suggested-by: Tomas Härdin <tjoppen@acc.umu.se>
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2020-10-20 20:22:48 +02:00
parent 90e4862ffa
commit 88519be8db
1 changed files with 1 additions and 2 deletions

View File

@ -343,11 +343,10 @@ static void mxf_free_metadataset(MXFMetadataSet **ctx, int freectx)
MXFIndexTableSegment *seg; MXFIndexTableSegment *seg;
switch ((*ctx)->type) { switch ((*ctx)->type) {
case Descriptor: case Descriptor:
case MultipleDescriptor:
av_freep(&((MXFDescriptor *)*ctx)->extradata); av_freep(&((MXFDescriptor *)*ctx)->extradata);
av_freep(&((MXFDescriptor *)*ctx)->mastering); av_freep(&((MXFDescriptor *)*ctx)->mastering);
av_freep(&((MXFDescriptor *)*ctx)->coll); av_freep(&((MXFDescriptor *)*ctx)->coll);
break;
case MultipleDescriptor:
av_freep(&((MXFDescriptor *)*ctx)->sub_descriptors_refs); av_freep(&((MXFDescriptor *)*ctx)->sub_descriptors_refs);
break; break;
case Sequence: case Sequence: