From d0e1473ab750101eab1b29fe2a550c0358900543 Mon Sep 17 00:00:00 2001 From: bcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b> Date: Mon, 4 Jan 2010 22:58:19 +0000 Subject: [PATCH] simplify error handling in mov_read_default git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21024 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b --- libavformat/mov.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 48242bb82..2b045bdcf 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -181,11 +181,10 @@ static int mov_read_default(MOVContext *c, ByteIOContext *pb, MOVAtom atom) int64_t total_size = 0; MOVAtom a; int i; - int err = 0; if (atom.size < 0) atom.size = INT64_MAX; - while(((total_size + 8) < atom.size) && !url_feof(pb) && !err) { + while(((total_size + 8) < atom.size) && !url_feof(pb)) { int (*parse)(MOVContext*, ByteIOContext*, MOVAtom) = NULL; a.size = atom.size; a.type=0; @@ -226,7 +225,9 @@ static int mov_read_default(MOVContext *c, ByteIOContext *pb, MOVAtom atom) } else { int64_t start_pos = url_ftell(pb); int64_t left; - err = parse(c, pb, a); + int err = parse(c, pb, a); + if (err < 0) + return err; if (url_is_streamed(pb) && c->found_moov && c->found_mdat) break; left = a.size - url_ftell(pb) + start_pos; @@ -237,10 +238,10 @@ static int mov_read_default(MOVContext *c, ByteIOContext *pb, MOVAtom atom) total_size += a.size; } - if (!err && total_size < atom.size && atom.size < 0x7ffff) + if (total_size < atom.size && atom.size < 0x7ffff) url_fskip(pb, atom.size - total_size); - return err; + return 0; } static int mov_read_dref(MOVContext *c, ByteIOContext *pb, MOVAtom atom) -- 2.25.4