mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
vorbisdec: reject rangebits 0 with non-0 partitions
This causes non-unique elements in floor_setup->data.t1.list, which makes the stream undecodable according to the specification. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
parent
e1c5170c63
commit
e7a7b3135a
@ -573,6 +573,11 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
rangebits = get_bits(gb, 4);
|
||||
if (!rangebits && floor_setup->data.t1.partitions) {
|
||||
av_log(vc->avctx, AV_LOG_ERROR,
|
||||
"A rangebits value of 0 is not compliant with the Vorbis I specification.\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
rangemax = (1 << rangebits);
|
||||
if (rangemax > vc->blocksize[1] / 2) {
|
||||
av_log(vc->avctx, AV_LOG_ERROR,
|
||||
|
Loading…
Reference in New Issue
Block a user