mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-19 21:36:54 +00: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);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
rangebits = get_bits(gb, 4);
|
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);
|
rangemax = (1 << rangebits);
|
||||||
if (rangemax > vc->blocksize[1] / 2) {
|
if (rangemax > vc->blocksize[1] / 2) {
|
||||||
av_log(vc->avctx, AV_LOG_ERROR,
|
av_log(vc->avctx, AV_LOG_ERROR,
|
||||||
|
Loading…
Reference in New Issue
Block a user