comparison libmpdemux/demux_mov.c @ 25892:68a400e63e67

Make sure chunkmap values are within bounds when using them.
author reimar
date Tue, 29 Jan 2008 22:13:47 +0000
parents d17a6a6d346a
children 638493dc056e
comparison
equal deleted inserted replaced
25891:d17a6a6d346a 25892:68a400e63e67
173 173
174 // process chunkmap: 174 // process chunkmap:
175 i=trak->chunkmap_size; 175 i=trak->chunkmap_size;
176 while(i>0){ 176 while(i>0){
177 --i; 177 --i;
178 for(j=trak->chunkmap[i].first;j<last;j++){ 178 j=FFMAX(trak->chunkmap[i].first, 0);
179 for(;j<last;j++){
179 trak->chunks[j].desc=trak->chunkmap[i].sdid; 180 trak->chunks[j].desc=trak->chunkmap[i].sdid;
180 trak->chunks[j].size=trak->chunkmap[i].spc; 181 trak->chunks[j].size=trak->chunkmap[i].spc;
181 } 182 }
182 last=trak->chunkmap[i].first; 183 last=FFMIN(trak->chunkmap[i].first, trak->chunks_size);
183 } 184 }
184 185
185 #if 0 186 #if 0
186 for (i=0; i < trak->chunks_size; i++) 187 for (i=0; i < trak->chunks_size; i++)
187 { 188 {