audio_subsegments would be 0 and cause floating point exceptions Fixes bugzilla #144
Unified · Split
| @@ -106,6 +106,12 @@ static int mtv_read_header(AVFormatContext *s, AVFormatParameters *ap) · 105 unmodified lines | |||
| 106 | 106 | ||
| 107 | avio_skip(pb, 4); | 107 | avio_skip(pb, 4); |
| 108 | audio_subsegments = avio_rl16(pb); | 108 | audio_subsegments = avio_rl16(pb); |
| 109 | |||
| 110 | if (audio_subsegments == 0) { | ||
| 111 | av_log_ask_for_sample(s, "MTV files without audio are not supported\n"); | ||
| 112 | return AVERROR_INVALIDDATA; | ||
| 113 | } | ||
| 114 | |||
| 109 | mtv->full_segment_size = | 115 | mtv->full_segment_size = |
| 110 | audio_subsegments * (MTV_AUDIO_PADDING_SIZE + MTV_ASUBCHUNK_DATA_SIZE) + | 116 | audio_subsegments * (MTV_AUDIO_PADDING_SIZE + MTV_ASUBCHUNK_DATA_SIZE) + |
| 111 | mtv->img_segment_size; | 117 | mtv->img_segment_size; |