diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 91ef2a4d10..8dbed327b6 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -116,10 +116,12 @@ static unsigned int get_aiff_header(AVFormatContext *s, int size, size -= 18; /* get codec id for AIFF-C */ - if (version == AIFF_C_VERSION1) { + if (version == AIFF_C_VERSION1 && size >= 4) { codec->codec_tag = avio_rl32(pb); codec->codec_id = ff_codec_get_id(ff_codec_aiff_tags, codec->codec_tag); size -= 4; + } else { + version = AIFF; } if (version != AIFF_C_VERSION1 || codec->codec_id == AV_CODEC_ID_PCM_S16BE) {