avformat/aiffdec: only read codec tag when there is space in header
authorPeter Ross <pross@xvid.org>
Sun, 4 Jan 2015 21:44:06 +0000 (08:44 +1100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 5 Jan 2015 00:45:49 +0000 (01:45 +0100)
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/aiffdec.c

index 91ef2a4..8dbed32 100644 (file)
@@ -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) {