summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Terriberry <tterribe@xiph.org>2010-10-14 01:17:08 +0000
committerTim Terriberry <tterribe@xiph.org>2010-10-14 01:17:08 +0000
commit7b7f8414adb36c82bde909dd80aa425a0d2c3f86 (patch)
tree0b16b08a6711562cbf21e2153e00aad4715f5b67
parentc54f394a65701a497dded10550126bf3afd61329 (diff)
downloadtremor-7b7f8414adb36c82bde909dd80aa425a0d2c3f86.tar.gz
Port r16597 from libvorbis.
Don't allow ordered codebooks with codeword lengths longer than 32 bits. git-svn-id: https://svn.xiph.org/trunk/Tremor@17528 0101bb08-14d6-0310-b084-bc0e0c8e3800
-rw-r--r--codebook.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/codebook.c b/codebook.c
index b920c01..3381f73 100644
--- a/codebook.c
+++ b/codebook.c
@@ -76,6 +76,7 @@ int vorbis_staticbook_unpack(oggpack_buffer *opb,static_codebook *s){
for(i=0;i<s->entries;){
long num=oggpack_read(opb,_ilog(s->entries-i));
if(num==-1)goto _eofout;
+ if(length>32)goto _errout;
for(j=0;j<num && i<s->entries;j++,i++)
s->lengthlist[i]=length;
length++;