aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMihnea Balta <mihnea.balta@gmail.com>2011-12-06 09:29:47 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-12-06 17:31:17 +0100
commitfef2da6a22f200299db986fc5c2271418e816ba6 (patch)
tree9698155ac4cc77a7efb0d25682b32470fce657cb
parentf0d0ae3b1e0334b70286b3e27eb8a2ffa928a9e5 (diff)
downloadffmpeg-fef2da6a22f200299db986fc5c2271418e816ba6.tar.gz
movdec: Fix bad computed size for atoms with size 0 in MOV files
The computed size doesn't contain the header size because it's already skipped by incrementing total_size, but then it's skipped again in the last line. The atom comes out 8 bytes short and the function mov_read_chan() aborts the whole parsing process. I think the computed size should be atom.size - total_size + 8. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/mov.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index eb31592308..d96ab0488d 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -323,7 +323,7 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom)
total_size += 8;
}
if (a.size == 0) {
- a.size = atom.size - total_size;
+ a.size = atom.size - total_size + 8;
if (a.size <= 8)
break;
}