From: Alex Converse Date: Wed, 21 Mar 2012 17:58:07 +0000 (-0700) Subject: xwma: Validate channels and bits_per_coded_sample. X-Git-Tag: v9_beta1~2257 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5023b89bba198b2f8e43b7f555aeb9c30d33db9f;p=platform%2Fupstream%2Flibav.git 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 --- diff --git a/libavformat/xwma.c b/libavformat/xwma.c index 2c6ee11..7b34b96 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);