diff --git a/libavformat/iff.c b/libavformat/iff.c index bf44170193..9880dfdb7b 100644 --- a/libavformat/iff.c +++ b/libavformat/iff.c @@ -448,6 +448,9 @@ static int iff_read_header(AVFormatContext *s) data_size = iff->is_64bit ? avio_rb64(pb) : avio_rb32(pb); orig_pos = avio_tell(pb); + if (data_size >= INT64_MAX) + return AVERROR_INVALIDDATA; + switch(chunk_id) { case ID_VHDR: st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;