electronicarts: check bytes per sample for validity
authorJanne Grunau <janne-libav@jannau.net>
Thu, 5 Jan 2012 21:12:35 +0000 (22:12 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 2 May 2012 23:23:02 +0000 (01:23 +0200)
Prevents division by zero.

libavformat/electronicarts.c

index 43d1f26..53041ee 100644 (file)
@@ -440,6 +440,11 @@ static int ea_read_header(AVFormatContext *s,
             ea->audio_codec = 0;
             return 1;
         }
+        if (ea->bytes <= 0) {
+            av_log(s, AV_LOG_ERROR, "Invalid number of bytes per sample: %d\n", ea->bytes);
+            ea->audio_codec = CODEC_ID_NONE;
+            return 1;
+        }
 
         /* initialize the audio decoder stream */
         st = avformat_new_stream(s, NULL);