9263e27
diff -pruN libvorbis-1.2.0.orig/lib/codebook.c libvorbis-1.2.0/lib/codebook.c
9263e27
--- libvorbis-1.2.0.orig/lib/codebook.c	2009-10-30 11:28:22.000000000 +0100
9263e27
+++ libvorbis-1.2.0/lib/codebook.c	2009-10-30 11:35:28.000000000 +0100
9263e27
@@ -198,6 +198,7 @@ int vorbis_staticbook_unpack(oggpack_buf
9263e27
       for(i=0;i<s->entries;){
9263e27
 	long num=oggpack_read(opb,_ilog(s->entries-i));
9263e27
 	if(num==-1)goto _eofout;
9263e27
+	if(length>32)goto _errout;
9263e27
 	for(j=0;j<num && i<s->entries;j++,i++)
9263e27
 	  s->lengthlist[i]=length;
9263e27
 	length++;