summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNedeljko Babic <nbabic@mips.com>2012-03-27 12:31:58 +0200
committerNedeljko Babic <nbabic@mips.com>2012-04-03 15:38:02 +0200
commitc2e70809a0c637cbfe6513ddb0344c246f933e43 (patch)
tree41e1026f1abc4562ddcd515d4001e5f20936bb48
parent3ea17df4955268347f65f7fc3bd153fe4edbd1b5 (diff)
downloadtremor-c2e70809a0c637cbfe6513ddb0344c246f933e43.tar.gz
Port r16597 from libvorbis.
Don't allow ordered codebooks with codeword lengths longer than 32 bits. [Import changes from Tremor (7b7f841 2010-10-14)]
-rw-r--r--codebook.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/codebook.c b/codebook.c
index 2e3d536..cd9dc26 100644
--- a/codebook.c
+++ b/codebook.c
@@ -430,6 +430,7 @@ int vorbis_book_unpack(oggpack_buffer *opb,codebook *s){
for(i=0;i<s->entries;){
long num=oggpack_read(opb,_ilog(s->entries-i));
if(num<0)goto _eofout;
+ if(length>32)goto _errout;
for(j=0;j<num && i<s->entries;j++,i++)
lengthlist[i]=(char)length;
s->dec_maxlength=length;