summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-20 14:32:51 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-20 14:32:51 +0000
commit405c00b38881cc2fe60811fffc66a29c1310dc0e (patch)
tree46f62cedad4bd0adeda2549076683069fa66e9d0 /libmpdemux
parent5ba87d32c65da78a5f5e66fbdfcaf1d27e42cdd6 (diff)
downloadmpv-405c00b38881cc2fe60811fffc66a29c1310dc0e.tar.bz2
mpv-405c00b38881cc2fe60811fffc66a29c1310dc0e.tar.xz
avoid bad memory access
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15784 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_mov.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index 43f3f0b61c..97b82a5323 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -996,7 +996,9 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
}
}
- if((trak->stdata[9]==0 || trak->stdata[9]==1) && trak->stdata_len >= 36) { // version 0 with extra atoms
+ if ((trak->stdata[9] == 0 && trak->stdata_len >= 36) ||
+ (trak->stdata[9] == 1 && trak->stdata_len >= 36 + 48)) {
+ // version 0 with extra atoms
int adjust = (trak->stdata[9]==1)?48:0;
int atom_len = char2int(trak->stdata,28+adjust);
switch(char2int(trak->stdata,32+adjust)) { // atom type