Commit 3dcddf82 authored by Reimar Döffinger's avatar Reimar Döffinger

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
parent 5a4a4d78
...@@ -483,6 +483,10 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -483,6 +483,10 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
if(size > 10*4 && size<(1<<30)){ if(size > 10*4 && size<(1<<30)){
st->codec->extradata_size= size - 10*4; st->codec->extradata_size= size - 10*4;
st->codec->extradata= av_malloc(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); 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); get_buffer(pb, st->codec->extradata, st->codec->extradata_size);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment