From 6e0f75a4d155e0b5c0e3a97b54fc26c297b1bde7 Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Wed, 17 Aug 2011 07:24:38 +0000 Subject: [PATCH] - Applied Zom-B's patch for multi-dimension array initializer checks. SVN r3281 (trunk) --- parse.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/parse.c b/parse.c index 92e41d8..463d324 100644 --- a/parse.c +++ b/parse.c @@ -4071,6 +4071,17 @@ static void ProcessArrayLevel(int level, int *entry, int ndim, } else { + //Bugfix for r3226 by Zom-B + if (i >= dims[level - 1]) + { + if (!warned_too_many) + { + warned_too_many = YES; + ERR_Error(ERR_TOO_MANY_ARRAY_INIT, YES); + } + // Allow execution to continue without stray memory access + entry -= muls[level-1]; + } TK_TokenMustBe(TK_LBRACE, ERR_MISSING_LBRACE_ARR); TK_NextToken(); ProcessArrayLevel(level+1, entry, ndim, dims, muls, name);