From be2ab8b75a634a686a5ced1544c0c9a4ebeab0dc Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Mon, 22 Oct 2012 18:53:19 -0400 Subject: [PATCH] qdm2: make sure channels is not <= 0 and set channel layout --- libavcodec/qdm2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c index 4d3b3915fb..8e93886f1c 100644 --- a/libavcodec/qdm2.c +++ b/libavcodec/qdm2.c @@ -36,6 +36,7 @@ #include #define BITSTREAM_READER_LE +#include "libavutil/audioconvert.h" #include "avcodec.h" #include "get_bits.h" #include "dsputil.h" @@ -1768,8 +1769,10 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx) avctx->channels = s->nb_channels = s->channels = AV_RB32(extradata); extradata += 4; - if (s->channels > MPA_MAX_CHANNELS) + if (s->channels <= 0 || s->channels > MPA_MAX_CHANNELS) return AVERROR_INVALIDDATA; + avctx->channel_layout = avctx->channels == 2 ? AV_CH_LAYOUT_STEREO : + AV_CH_LAYOUT_MONO; avctx->sample_rate = AV_RB32(extradata); extradata += 4;