add sanity checks
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 24 Jan 2007 10:44:24 +0000 (10:44 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 24 Jan 2007 10:44:24 +0000 (10:44 +0000)
Originally committed as revision 7679 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 74fc0ef..45981f4 100644 (file)
@@ -1619,7 +1619,12 @@ static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap)
 
     for(i=0; i<mov->total_streams; i++) {
         MOVStreamContext *sc = mov->streams[i];
-
+        /* sanity checks */
+        if(!sc->stts_count || !sc->chunk_count || !sc->sample_to_chunk_sz ||
+           (!sc->sample_size && !sc->sample_count)){
+            av_log(s, AV_LOG_ERROR, "missing mandatory atoms, broken header\n");
+            return -1;
+        }
         if(!sc->time_rate)
             sc->time_rate=1;
         if(!sc->time_scale)