avcodec/mpegaudiodec_template/mp3on4: check that all channels have been decoded before returnig a frame

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f80bf9a259e_5774_id5_1.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-01-14 20:53:42 +01:00
parent b2ae92110f
commit 2545182c29
1 changed files with 4 additions and 0 deletions

View File

@ -1962,6 +1962,10 @@ static int decode_frame_mp3on4(AVCodecContext *avctx, void *data,
avctx->bit_rate += m->bit_rate; avctx->bit_rate += m->bit_rate;
} }
if (ch != avctx->channels) {
av_log(avctx, AV_LOG_ERROR, "failed to decode all channels\n");
return AVERROR_INVALIDDATA;
}
/* update codec info */ /* update codec info */
avctx->sample_rate = s->mp3decctx[0]->sample_rate; avctx->sample_rate = s->mp3decctx[0]->sample_rate;