Mercurial > mplayer.hg
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 { |