mace: Make sure that the channel count is set to a valid value

Also return a proper error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2013-09-16 15:19:52 +03:00
parent 1115689d54
commit e1f3847f86

View File

@ -226,8 +226,8 @@ static void chomp6(ChannelData *chd, int16_t *output, uint8_t val, int tab_idx)
static av_cold int mace_decode_init(AVCodecContext * avctx) static av_cold int mace_decode_init(AVCodecContext * avctx)
{ {
if (avctx->channels > 2) if (avctx->channels > 2 || avctx->channels < 1)
return -1; return AVERROR(EINVAL);
avctx->sample_fmt = AV_SAMPLE_FMT_S16P; avctx->sample_fmt = AV_SAMPLE_FMT_S16P;
return 0; return 0;