Blob Blame History Raw
diff -pruN libvorbis-1.2.0.orig/lib/codebook.c libvorbis-1.2.0/lib/codebook.c
--- libvorbis-1.2.0.orig/lib/codebook.c	2009-10-30 11:28:22.000000000 +0100
+++ libvorbis-1.2.0/lib/codebook.c	2009-10-30 11:35:28.000000000 +0100
@@ -198,6 +198,7 @@ int vorbis_staticbook_unpack(oggpack_buf
       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++;