diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index eb565054e7..bd5bd2e4bb 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -107,6 +107,8 @@ static int get_aiff_header(AVFormatContext *s, int64_t size, size++; par->codec_type = AVMEDIA_TYPE_AUDIO; channels = avio_rb16(pb); + if (par->ch_layout.nb_channels && par->ch_layout.nb_channels != channels) + return AVERROR_INVALIDDATA; par->ch_layout.nb_channels = channels; num_frames = avio_rb32(pb); par->bits_per_coded_sample = avio_rb16(pb);