# HG changeset patch # User bcoudurier # Date 1196720570 0 # Node ID 1ce39cda4a598ac83c441ed38ec17f59b2a39f2e # Parent 888d5439eac68d1cb2031f00c05a95515f47d7d4 check mov_read_default return value where appropriate, patch by takis, fix issue 285 diff -r 888d5439eac6 -r 1ce39cda4a59 mov.c --- a/mov.c Mon Dec 03 13:33:48 2007 +0000 +++ b/mov.c Mon Dec 03 22:22:50 2007 +0000 @@ -345,9 +345,8 @@ /* 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 @@ } 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 @@ } /* 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); }