]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
MOV: fix crash when 'meta' occurs before first 'trak'
authoralexc <alexc@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 3 Mar 2009 18:19:44 +0000 (18:19 +0000)
committeralexc <alexc@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 3 Mar 2009 18:19:44 +0000 (18:19 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@17781 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/mov.c

index b34326c3cfa5113286372cac94d93c3cc3b1d796..88f8003057c38628923c17cd03c65f3cba729c34 100644 (file)
@@ -308,10 +308,15 @@ static int mov_read_dref(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
 
 static int mov_read_hdlr(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
 {
-    AVStream *st = c->fc->streams[c->fc->nb_streams-1];
+    AVStream *st;
     uint32_t type;
     uint32_t ctype;
 
+    if (c->fc->nb_streams < 1) // meta before first trak
+        return 0;
+
+    st = c->fc->streams[c->fc->nb_streams-1];
+
     get_byte(pb); /* version */
     get_be24(pb); /* flags */