From 3dcddf82edeb79a51a030191be6d4e816556c8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Fri, 3 Jul 2009 11:27:52 +0000 Subject: [PATCH] Check for failed extradata malloc, fixes a crash in out-of-memory conditions or with extremely large extradata. Originally committed as revision 19333 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/avidec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 5b7c8bb059..56b6204e04 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -483,6 +483,10 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) if(size > 10*4 && size<(1<<30)){ st->codec->extradata_size= size - 10*4; st->codec->extradata= av_malloc(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); + if (!st->codec->extradata) { + st->codec->extradata_size= 0; + return AVERROR(ENOMEM); + } get_buffer(pb, st->codec->extradata, st->codec->extradata_size); }