summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-29 22:13:47 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-29 22:13:47 +0000
commit80e4c5d665e2206e9db52c72633bbafb3d3f0976 (patch)
tree3b516ddf5a13c75b7a38b2fcd4b68ea9530a8076 /libmpdemux
parentfe9225b50c58cd9ad520a490c4a014b4499e0343 (diff)
downloadmpv-80e4c5d665e2206e9db52c72633bbafb3d3f0976.tar.bz2
mpv-80e4c5d665e2206e9db52c72633bbafb3d3f0976.tar.xz
Make sure chunkmap values are within bounds when using them.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25921 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_mov.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index f3ecaacc45..1b6ae43a07 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -175,11 +175,12 @@ void mov_build_index(mov_track_t* trak,int timescale){
i=trak->chunkmap_size;
while(i>0){
--i;
- for(j=trak->chunkmap[i].first;j<last;j++){
+ j=FFMAX(trak->chunkmap[i].first, 0);
+ for(;j<last;j++){
trak->chunks[j].desc=trak->chunkmap[i].sdid;
trak->chunks[j].size=trak->chunkmap[i].spc;
}
- last=trak->chunkmap[i].first;
+ last=FFMIN(trak->chunkmap[i].first, trak->chunks_size);
}
#if 0