10l (deallocated memory again)
authorLoren Merritt <lorenm@u.washington.edu>
Mon, 28 Feb 2005 05:27:21 +0000 (05:27 +0000)
committerLoren Merritt <lorenm@u.washington.edu>
Mon, 28 Feb 2005 05:27:21 +0000 (05:27 +0000)
Originally committed as revision 3994 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/flac.c

index de1c525..894da93 100644 (file)
@@ -637,10 +637,17 @@ static int flac_decode_frame(AVCodecContext *avctx,
                 switch(metadata_type)
                 {
                 case METADATA_TYPE_STREAMINFO:{
                 switch(metadata_type)
                 {
                 case METADATA_TYPE_STREAMINFO:{
-                    int bits_count= get_bits_count(&s->gb);
-
                     metadata_streaminfo(s);
 
                     metadata_streaminfo(s);
 
+                    /* Buffer might have been reallocated, reinit bitreader */
+                    if(buf != &s->bitstream[s->bitstream_index])
+                    {
+                        int bits_count = get_bits_count(&s->gb);
+                        buf= &s->bitstream[s->bitstream_index];
+                        init_get_bits(&s->gb, buf, buf_size*8);
+                        skip_bits(&s->gb, bits_count);
+                    }
                     dump_headers(s);
                     break;}
                 default:
                     dump_headers(s);
                     break;}
                 default: