aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/aviheader.c5
1 files changed, 5 insertions, 0 deletions
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) {