aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-12-10 02:41:45 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2019-12-11 16:24:16 +0100
commit86e9747c634bc17ef8335d12191aa9e7a897fd64 (patch)
tree59ce6f7d99ebc696e8d6d87ada4aeca7a3488850
parenta6d292b954cb45b512251b31efbe58e44dcf159c (diff)
downloadffmpeg-86e9747c634bc17ef8335d12191aa9e7a897fd64.tar.gz
avformat/iff: Use ff_alloc_extradata
Besides improved readability it also zeroes the padding which has been forgotten here. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/iff.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/libavformat/iff.c b/libavformat/iff.c
index 2a3729f97e..9cee31a86b 100644
--- a/libavformat/iff.c
+++ b/libavformat/iff.c
@@ -525,10 +525,10 @@ static int iff_read_header(AVFormatContext *s)
data_size);
return AVERROR_INVALIDDATA;
}
- st->codecpar->extradata_size = data_size + IFF_EXTRA_VIDEO_SIZE;
- st->codecpar->extradata = av_malloc(data_size + IFF_EXTRA_VIDEO_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!st->codecpar->extradata)
- return AVERROR(ENOMEM);
+ res = ff_alloc_extradata(st->codecpar,
+ data_size + IFF_EXTRA_VIDEO_SIZE);
+ if (res < 0)
+ return res;
if (avio_read(pb, st->codecpar->extradata + IFF_EXTRA_VIDEO_SIZE, data_size) < 0) {
av_freep(&st->codecpar->extradata);
st->codecpar->extradata_size = 0;
@@ -771,10 +771,9 @@ static int iff_read_header(AVFormatContext *s)
iff->transparency = transparency;
if (!st->codecpar->extradata) {
- st->codecpar->extradata_size = IFF_EXTRA_VIDEO_SIZE;
- st->codecpar->extradata = av_malloc(IFF_EXTRA_VIDEO_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!st->codecpar->extradata)
- return AVERROR(ENOMEM);
+ int ret = ff_alloc_extradata(st->codecpar, IFF_EXTRA_VIDEO_SIZE);
+ if (ret < 0)
+ return ret;
}
av_assert0(st->codecpar->extradata_size >= IFF_EXTRA_VIDEO_SIZE);
buf = st->codecpar->extradata;