pcm-mpeg: Check for valid bps.
The code only supports 16 and 24 bps currently, 20bps causes out of array reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
f83687bc78
commit
cd0cfdc0a7
@ -69,8 +69,8 @@ static int pcm_bluray_parse_header(AVCodecContext *avctx,
|
||||
|
||||
/* get the sample depth and derive the sample format from it */
|
||||
avctx->bits_per_coded_sample = bits_per_samples[header[3] >> 6];
|
||||
if (!avctx->bits_per_coded_sample) {
|
||||
av_log(avctx, AV_LOG_ERROR, "unsupported sample depth (0)\n");
|
||||
if (avctx->bits_per_coded_sample == 16 || avctx->bits_per_coded_sample == 24) {
|
||||
av_log(avctx, AV_LOG_ERROR, "unsupported sample depth (%d)\n", avctx->bits_per_coded_sample);
|
||||
return -1;
|
||||
}
|
||||
avctx->sample_fmt = avctx->bits_per_coded_sample == 16 ? AV_SAMPLE_FMT_S16 :
|
||||
|
Loading…
x
Reference in New Issue
Block a user