Fix division by 0 due to audio frame size
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Feb 2013 17:15:33 +0000 (18:15 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Feb 2013 17:15:33 +0000 (18:15 +0100)
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mvi.c

index 6b74597..953c182 100644 (file)
@@ -96,6 +96,10 @@ static int read_header(AVFormatContext *s)
     mvi->get_int = (vst->codec->width * vst->codec->height < (1 << 16)) ? avio_rl16 : avio_rl24;
 
     mvi->audio_frame_size   = ((uint64_t)mvi->audio_data_size << MVI_FRAC_BITS) / frames_count;
+    if (!mvi->audio_frame_size) {
+        av_log(s, AV_LOG_ERROR, "audio_frame_size is 0\n");
+        return AVERROR_INVALIDDATA;
+    }
     mvi->audio_size_counter = (ast->codec->sample_rate * 830 / mvi->audio_frame_size - 1) * mvi->audio_frame_size;
     mvi->audio_size_left    = mvi->audio_data_size;