vqa: fix double free on corrupted streams
authorLaurent Aimar <fenrir@videolan.org>
Sat, 8 Oct 2011 21:40:37 +0000 (23:40 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 9 Oct 2011 01:08:03 +0000 (03:08 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/westwood.c

index 7712865..6b5fd51 100644 (file)
@@ -277,10 +277,8 @@ static int wsvqa_read_header(AVFormatContext *s,
     /* there are 0 or more chunks before the FINF chunk; iterate until
      * FINF has been skipped and the file will be ready to be demuxed */
     do {
-        if (avio_read(pb, scratch, VQA_PREAMBLE_SIZE) != VQA_PREAMBLE_SIZE) {
-            av_free(st->codec->extradata);
+        if (avio_read(pb, scratch, VQA_PREAMBLE_SIZE) != VQA_PREAMBLE_SIZE)
             return AVERROR(EIO);
-        }
         chunk_tag = AV_RB32(&scratch[0]);
         chunk_size = AV_RB32(&scratch[4]);