westwood_vqa: do not free extradata on error in read_header
authorLuca Barbato <lu_zero@gentoo.org>
Thu, 27 Jun 2013 02:30:20 +0000 (04:30 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Sun, 7 Jul 2013 20:04:43 +0000 (22:04 +0200)
The extradata is already freed by avformat_open_input on
failure.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavformat/westwood_vqa.c

index 7c9cb0d..77da375 100644 (file)
@@ -106,7 +106,6 @@ static int wsvqa_read_header(AVFormatContext *s)
     header = (unsigned char *)st->codec->extradata;
     if (avio_read(pb, st->codec->extradata, VQA_HEADER_SIZE) !=
         VQA_HEADER_SIZE) {
-        av_free(st->codec->extradata);
         return AVERROR(EIO);
     }
     st->codec->width = AV_RL16(&header[6]);
@@ -132,7 +131,6 @@ static int wsvqa_read_header(AVFormatContext *s)
      * 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);
             return AVERROR(EIO);
         }
         chunk_tag = AV_RB32(&scratch[0]);