Commit 9cf0419b authored by Panagiotis Issaris's avatar Panagiotis Issaris Committed by Baptiste Coudurier

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
parent b529ab37
...@@ -345,9 +345,8 @@ static int mov_read_ftyp(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) ...@@ -345,9 +345,8 @@ static int mov_read_ftyp(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
/* this atom should contain all header atoms */ /* this atom should contain all header atoms */
static int mov_read_moov(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) static int mov_read_moov(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
{ {
int err; if (mov_read_default(c, pb, atom) < 0)
return -1;
err = mov_read_default(c, pb, atom);
/* we parsed the 'moov' atom, we can terminate the parsing as soon as we find the 'mdat' */ /* 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 */ /* so we don't parse the whole file if over a network */
c->found_moov=1; c->found_moov=1;
...@@ -505,7 +504,8 @@ static int mov_read_wave(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) ...@@ -505,7 +504,8 @@ static int mov_read_wave(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
} else } else
url_fskip(pb, atom.size); url_fskip(pb, atom.size);
} else if (atom.size > 8) { /* to read frma, esds atoms */ } 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 } else
url_fskip(pb, atom.size); url_fskip(pb, atom.size);
return 0; return 0;
...@@ -789,9 +789,10 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) ...@@ -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 ...) */ /* this will read extra atoms at the end (wave, alac, damr, avcC, SMI ...) */
a.size = size - (url_ftell(pb) - start_pos); a.size = size - (url_ftell(pb) - start_pos);
if (a.size > 8) if (a.size > 8) {
mov_read_default(c, pb, a); if (mov_read_default(c, pb, a) < 0)
else if (a.size > 0) return -1;
} else if (a.size > 0)
url_fskip(pb, a.size); url_fskip(pb, a.size);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment