Magellan Linux

Contents of /trunk/mplayer/patches/mplayer-1.0_rc2-demux_mov_fix_20080129.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 462 - (show annotations) (download)
Tue Feb 5 15:43:17 2008 UTC (16 years, 3 months ago) by niro
File size: 1051 byte(s)
-security fixes

1 --- trunk/libmpdemux/demux_mov.c 2008/01/29 22:13:20 25920
2 +++ trunk/libmpdemux/demux_mov.c 2008/01/29 22:14:00 25922
3 @@ -175,11 +175,12 @@
4 i=trak->chunkmap_size;
5 while(i>0){
6 --i;
7 - for(j=trak->chunkmap[i].first;j<last;j++){
8 + j=FFMAX(trak->chunkmap[i].first, 0);
9 + for(;j<last;j++){
10 trak->chunks[j].desc=trak->chunkmap[i].sdid;
11 trak->chunks[j].size=trak->chunkmap[i].spc;
12 }
13 - last=trak->chunkmap[i].first;
14 + last=FFMIN(trak->chunkmap[i].first, trak->chunks_size);
15 }
16
17 #if 0
18 @@ -237,6 +238,8 @@
19 s=0;
20 for(j=0;j<trak->durmap_size;j++){
21 for(i=0;i<trak->durmap[j].num;i++){
22 + if (s >= trak->samples_size)
23 + break;
24 trak->samples[s].pts=pts;
25 ++s;
26 pts+=trak->durmap[j].dur;
27 @@ -248,6 +251,8 @@
28 for(j=0;j<trak->chunks_size;j++){
29 off_t pos=trak->chunks[j].pos;
30 for(i=0;i<trak->chunks[j].size;i++){
31 + if (s >= trak->samples_size)
32 + break;
33 trak->samples[s].pos=pos;
34 mp_msg(MSGT_DEMUX, MSGL_DBG3, "Sample %5d: pts=%8d off=0x%08X size=%d\n",s,
35 trak->samples[s].pts,