From 64159b23f862d9467319ef450a9f1c9c7267027b Mon Sep 17 00:00:00 2001 From: iive Date: Thu, 6 Apr 2006 20:04:02 +0000 Subject: Limit the number of entires to the amount that does fit into the chunk. the function need rewrite as it assumes quite many things that are not guaranteed by the specifications. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18050 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/aviheader.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libmpdemux/aviheader.c b/libmpdemux/aviheader.c index 9f95ca339b..e19e3198c1 100644 --- a/libmpdemux/aviheader.c +++ b/libmpdemux/aviheader.c @@ -224,6 +224,11 @@ while(1){ memset(s->dwReserved, 0, 3*4); print_avisuperindex_chunk(s,MSGL_V); + + if( ((chunksize/4)/s->wLongsPerEntry) < s->nEntriesInUse){ + mp_msg (MSGT_HEADER, MSGL_WARN, "Broken super index chunk\n"); + s->nEntriesInUse = (chunksize/4)/s->wLongsPerEntry; + } // Check and fix this useless crap if(s->wLongsPerEntry != sizeof (avisuperindex_entry)/4) { -- cgit v1.2.3