avformat/iff: fix memleak when get st->codecpar->extradata failed in iff_read_header

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
pull/323/head
Steven Liu 5 years ago
parent 6f84c1e907
commit 9f0b9ae8bd
  1. 5
      libavformat/iff.c

@ -529,8 +529,11 @@ static int iff_read_header(AVFormatContext *s)
st->codecpar->extradata = av_malloc(data_size + IFF_EXTRA_VIDEO_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
if (!st->codecpar->extradata)
return AVERROR(ENOMEM);
if (avio_read(pb, st->codecpar->extradata + IFF_EXTRA_VIDEO_SIZE, data_size) < 0)
if (avio_read(pb, st->codecpar->extradata + IFF_EXTRA_VIDEO_SIZE, data_size) < 0) {
av_freep(&st->codecpar->extradata);
st->codecpar->extradata_size = 0;
return AVERROR(EIO);
}
break;
case ID_BMHD:

Loading…
Cancel
Save