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>
pull/53/head
Michael Niedermayer 11 years ago
parent b2ae92110f
commit 2545182c29
  1. 4
      libavcodec/mpegaudiodec_template.c

@ -1962,6 +1962,10 @@ static int decode_frame_mp3on4(AVCodecContext *avctx, void *data,
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 */
avctx->sample_rate = s->mp3decctx[0]->sample_rate;

Loading…
Cancel
Save