changeset 27233:8c5ec96a0bc7

Check size of tkdata before using it in mov demuxer. Fixes bug #1170 and others.
author reimar
date Fri, 11 Jul 2008 22:03:01 +0000
parents 606f30477d18
children fe1be13f3aed
files libmpdemux/demux_mov.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demux_mov.c	Fri Jul 11 21:59:17 2008 +0000
+++ b/libmpdemux/demux_mov.c	Fri Jul 11 22:03:01 2008 +0000
@@ -1114,6 +1114,7 @@
 
 		sh->disp_w=trak->stdata[25]|(trak->stdata[24]<<8);
 		sh->disp_h=trak->stdata[27]|(trak->stdata[26]<<8);
+		if(trak->tkdata_len>81) {
 		// if image size is zero, fallback to display size
 		if(!sh->disp_w && !sh->disp_h) {
 		  sh->disp_w=trak->tkdata[77]|(trak->tkdata[76]<<8);
@@ -1123,6 +1124,7 @@
 		  sh->aspect=trak->tkdata[77]|(trak->tkdata[76]<<8);
 		  sh->aspect/=trak->tkdata[81]|(trak->tkdata[80]<<8);
 		}
+		}
 		
 		if(depth>32+8) mp_msg(MSGT_DEMUX, MSGL_INFO,"*** depth = 0x%X\n",depth);