[FFmpeg-cvslog] avformat/iff: fix memleak when get st->codecpar->extradata failed in iff_read_header
Steven Liu
git at videolan.org
Thu Oct 10 04:59:35 EEST 2019
ffmpeg | branch: master | Steven Liu <lq at chinaffmpeg.org> | Wed Oct 9 11:50:49 2019 +0800| [9f0b9ae8bd84b45dc8bc7bcb96607c2948d546d7] | committer: Steven Liu
avformat/iff: fix memleak when get st->codecpar->extradata failed in iff_read_header
Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9f0b9ae8bd84b45dc8bc7bcb96607c2948d546d7
---
libavformat/iff.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libavformat/iff.c b/libavformat/iff.c
index f4d806b7b8..2a3729f97e 100644
--- a/libavformat/iff.c
+++ b/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:
More information about the ffmpeg-cvslog
mailing list