# HG changeset patch # User reimar # Date 1246620472 0 # Node ID 5da0e7ccc3c46fbee761196c930ce87685cac734 # Parent 5de39afaca2e32f932171a4e40dcc2c365ede7cb Check for failed extradata malloc, fixes a crash in out-of-memory conditions or with extremely large extradata. diff -r 5de39afaca2e -r 5da0e7ccc3c4 avidec.c --- a/avidec.c Fri Jul 03 11:26:14 2009 +0000 +++ b/avidec.c Fri Jul 03 11:27:52 2009 +0000 @@ -483,6 +483,10 @@ 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); }