diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-01-04 19:22:20 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-01-04 21:58:08 +0100 |
commit | 405e99bdfdb363e8dfda275faad9d4fdc9646434 (patch) | |
tree | 1ef16ec40dcc08b2c81689e4c8d751b090ea93e0 /libavcodec/vorbisdec.c | |
parent | 6fcf2bb8af0e7d6bb179e71e67e5fab8ef0d2ec2 (diff) | |
download | ffmpeg-405e99bdfdb363e8dfda275faad9d4fdc9646434.tar.gz |
vorbisdec: Make sure blocksize is not set to an invalid value.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vorbisdec.c')
-rw-r--r-- | libavcodec/vorbisdec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index 85076483ab..0d4b717e55 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -935,12 +935,12 @@ static int vorbis_parse_id_hdr(vorbis_context *vc) vc->bitrate_minimum = get_bits_long(gb, 32); bl0 = get_bits(gb, 4); bl1 = get_bits(gb, 4); - vc->blocksize[0] = (1 << bl0); - vc->blocksize[1] = (1 << bl1); if (bl0 > 13 || bl0 < 6 || bl1 > 13 || bl1 < 6 || bl1 < bl0) { av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (illegal blocksize). \n"); return AVERROR_INVALIDDATA; } + vc->blocksize[0] = (1 << bl0); + vc->blocksize[1] = (1 << bl1); vc->win[0] = ff_vorbis_vwin[bl0 - 6]; vc->win[1] = ff_vorbis_vwin[bl1 - 6]; |