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>
This commit is contained in:
Andreas Rheinhardt 2019-12-10 02:41:45 +01:00 committed by Michael Niedermayer
parent a6d292b954
commit 86e9747c63
1 changed files with 7 additions and 8 deletions

View File

@ -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;