Add return code check to _initial_pcmoffset as vorbis_packet_blocksize can fail....
authorMonty <xiphmont@xiph.org>
Mon, 12 Jan 2015 09:43:49 +0000 (09:43 +0000)
committerMonty <xiphmont@xiph.org>
Mon, 12 Jan 2015 09:43:49 +0000 (09:43 +0000)
svn path=/trunk/vorbis/; revision=19434

lib/vorbisfile.c

index 93f663c..e00087a 100644 (file)
@@ -438,9 +438,11 @@ static ogg_int64_t _initial_pcmoffset(OggVorbis_File *vf, vorbis_info *vi){
     while((result=ogg_stream_packetout(&vf->os,&op))){
       if(result>0){ /* ignore holes */
         long thisblock=vorbis_packet_blocksize(vi,&op);
-        if(lastblock!=-1)
-          accumulated+=(lastblock+thisblock)>>2;
-        lastblock=thisblock;
+        if(thisblock>=0){
+          if(lastblock!=-1)
+            accumulated+=(lastblock+thisblock)>>2;
+          lastblock=thisblock;
+        }
       }
     }