From 5023b89bba198b2f8e43b7f555aeb9c30d33db9f Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Wed, 21 Mar 2012 10:58:07 -0700 Subject: xwma: Validate channels and bits_per_coded_sample. This prevents a SIGFPE later on. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org --- libavformat/xwma.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libavformat/xwma.c') diff --git a/libavformat/xwma.c b/libavformat/xwma.c index 2c6ee114bd..7b34b96433 100644 --- a/libavformat/xwma.c +++ b/libavformat/xwma.c @@ -115,6 +115,17 @@ static int xwma_read_header(AVFormatContext *s) } } + if (!st->codec->channels) { + av_log(s, AV_LOG_WARNING, "Invalid channel count: %d\n", + st->codec->channels); + return AVERROR_INVALIDDATA; + } + if (!st->codec->bits_per_coded_sample) { + av_log(s, AV_LOG_WARNING, "Invalid bits_per_coded_sample: %d\n", + st->codec->bits_per_coded_sample); + return AVERROR_INVALIDDATA; + } + /* set the sample rate */ avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate); -- cgit v1.2.3