Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > media > main-src > by-pkgid > c3a98bbba9c3958996f79b724bc6de7b > files > 13

libvorbis-1.1.2-3.el5.0.src.rpm

Index: lib/codebook.c
===================================================================
--- lib/codebook.c	(revision 13168)
+++ lib/codebook.c	(revision 13169)
@@ -255,6 +255,7 @@ int vorbis_staticbook_unpack(oggpack_buf
 
 /* returns the number of bits ************************************************/
 int vorbis_book_encode(codebook *book, int a, oggpack_buffer *b){
+  if(a<0 || a>=book->c->entries)return(0);
   oggpack_write(b,book->codelist[a],book->c->lengthlist[a]);
   return(book->c->lengthlist[a]);
 }
Index: lib/info.c
===================================================================
--- lib/info.c	(revision 13168)
+++ lib/info.c	(revision 13169)
@@ -425,7 +425,7 @@ static int _vorbis_pack_info(oggpack_buf
 }
 
 static int _vorbis_pack_comment(oggpack_buffer *opb,vorbis_comment *vc){
-  char temp[]="Xiph.Org libVorbis I 20070621";
+  char temp[]="Xiph.Org libVorbis I 20070622";
   int bytes = strlen(temp);
 
   /* preamble */  
Index: lib/res0.c
===================================================================
--- lib/res0.c	(revision 13168)
+++ lib/res0.c	(revision 13169)
@@ -336,7 +336,7 @@ static int local_book_besterror(codebook
     }
   }
 
-  {
+  if(best>-1){
     float *ptr=book->valuelist+best*dim;
     for(i=0;i<dim;i++)
       *a++ -= *ptr++;
@@ -355,10 +355,12 @@ static int _encodepart(oggpack_buffer *o
     int entry=local_book_besterror(book,vec+i*dim);
 
 #ifdef TRAIN_RES
-    acc[entry]++;
+    if(entry>0)
+      acc[entry]++;
 #endif
-
+      
     bits+=vorbis_book_encode(book,entry,opb);
+  
   }
 
   return(bits);