OSDN Git Service

mtv: Make sure audio_subsegments is not 0
authorShitiz Garg <mail@dragooon.net>
Thu, 15 Dec 2011 19:06:27 +0000 (00:36 +0530)
committerJustin Ruggles <justin.ruggles@gmail.com>
Wed, 4 Jan 2012 22:47:19 +0000 (17:47 -0500)
audio_subsegments would be 0 and cause floating point exceptions
Fixes bugzilla #144

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
libavformat/mtv.c

index c3fb15c..4c3b082 100644 (file)
@@ -106,6 +106,12 @@ static int mtv_read_header(AVFormatContext *s, AVFormatParameters *ap)
 
     avio_skip(pb, 4);
     audio_subsegments = avio_rl16(pb);
+
+    if (audio_subsegments == 0) {
+        av_log_ask_for_sample(s, "MTV files without audio are not supported\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     mtv->full_segment_size =
         audio_subsegments * (MTV_AUDIO_PADDING_SIZE + MTV_ASUBCHUNK_DATA_SIZE) +
         mtv->img_segment_size;