[SCM] libav/experimental: Check for failed extradata malloc, fixes a crash in out-of-memory conditions or with extremely large extradata.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:48:31 UTC 2013


The following commit has been merged in the experimental branch:
commit 3dcddf82edeb79a51a030191be6d4e816556c8ef
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Fri Jul 3 11:27:52 2009 +0000

    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

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 5b7c8bb..56b6204 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);
                     }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list