[SCM] libav/experimental: check mov_read_default return value where appropriate, patch by takis, fix issue 285

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:10:06 UTC 2013


The following commit has been merged in the experimental branch:
commit 9cf0419bb1a2cf929dcf458d435ae3c3bfb5d3ab
Author: Panagiotis Issaris <takis.issaris at uhasselt.be>
Date:   Mon Dec 3 22:22:50 2007 +0000

    check mov_read_default return value where appropriate, patch by takis, fix issue 285
    
    Originally committed as revision 11161 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/mov.c b/libavformat/mov.c
index dc662d3..1c2f322 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -345,9 +345,8 @@ static int mov_read_ftyp(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
 /* this atom should contain all header atoms */
 static int mov_read_moov(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
 {
-    int err;
-
-    err = mov_read_default(c, pb, atom);
+    if (mov_read_default(c, pb, atom) < 0)
+        return -1;
     /* we parsed the 'moov' atom, we can terminate the parsing as soon as we find the 'mdat' */
     /* so we don't parse the whole file if over a network */
     c->found_moov=1;
@@ -505,7 +504,8 @@ static int mov_read_wave(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
         } else
             url_fskip(pb, atom.size);
     } else if (atom.size > 8) { /* to read frma, esds atoms */
-        mov_read_default(c, pb, atom);
+        if (mov_read_default(c, pb, atom) < 0)
+            return -1;
     } else
         url_fskip(pb, atom.size);
     return 0;
@@ -789,9 +789,10 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
         }
         /* this will read extra atoms at the end (wave, alac, damr, avcC, SMI ...) */
         a.size = size - (url_ftell(pb) - start_pos);
-        if (a.size > 8)
-            mov_read_default(c, pb, a);
-        else if (a.size > 0)
+        if (a.size > 8) {
+            if (mov_read_default(c, pb, a) < 0)
+                return -1;
+        } else if (a.size > 0)
             url_fskip(pb, a.size);
     }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list