diff options
author | Anton Khirnov <anton@khirnov.net> | 2014-05-03 08:50:41 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-05-18 10:19:35 +0200 |
commit | d256ed78ffe202a4dcc8d625becffc716bfa3977 (patch) | |
tree | 39f2d5de3441f0ff60d4575ca227a7b8ae6a4287 /libavformat/4xm.c | |
parent | fd056029f45a9f6d213d9fce8165632042511d4f (diff) | |
download | ffmpeg-d256ed78ffe202a4dcc8d625becffc716bfa3977.tar.gz |
4xm: allocate extradata properly.
Pad it with the required amount of zeros, check for malloc failure.
Diffstat (limited to 'libavformat/4xm.c')
-rw-r--r-- | libavformat/4xm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/4xm.c b/libavformat/4xm.c index 7a87c3695a..6253ffb58e 100644 --- a/libavformat/4xm.c +++ b/libavformat/4xm.c @@ -110,8 +110,11 @@ static int parse_vtrk(AVFormatContext *s, st->codec->codec_type = AVMEDIA_TYPE_VIDEO; st->codec->codec_id = AV_CODEC_ID_4XM; + + st->codec->extradata = av_mallocz(4 + FF_INPUT_BUFFER_PADDING_SIZE); + if (!st->codec->extradata) + return AVERROR(ENOMEM); st->codec->extradata_size = 4; - st->codec->extradata = av_malloc(4); AV_WL32(st->codec->extradata, AV_RL32(buf + 16)); st->codec->width = AV_RL32(buf + 36); st->codec->height = AV_RL32(buf + 40); |