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 | 107 | avio_skip(pb, 4); |
| 108 | 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 | 115 | mtv->full_segment_size = |
| 110 | 116 | audio_subsegments * (MTV_AUDIO_PADDING_SIZE + MTV_ASUBCHUNK_DATA_SIZE) + |
| 111 | 117 | mtv->img_segment_size; |