xwma: check bytes_per_sample, fix division by 0.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-11-15 00:56:33 +01:00
parent 12eb2fd539
commit a3cb7f992f
1 changed files with 6 additions and 0 deletions

View File

@ -200,6 +200,12 @@ static int xwma_read_header(AVFormatContext *s)
/* Estimate the duration from the total number of output bytes. */
const uint64_t total_decoded_bytes = dpds_table[dpds_table_size - 1];
if(!bytes_per_sample) {
av_log(s, AV_LOG_ERROR, "bytes_per_sample is 0\n");
return AVERROR_INVALIDDATA;
}
st->duration = total_decoded_bytes / bytes_per_sample;
/* Use the dpds data to build a seek table. We can only do this after