From: Simon Tatham Date: Sat, 27 Aug 2005 09:53:38 +0000 (+0000) Subject: Fix array bounds violation in the solver. Oops. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;ds=sidebyside;h=389397eed6bf162f1e13b9c733bfa2cf88c2ba83;p=sgt-puzzles.git Fix array bounds violation in the solver. Oops. [originally from svn r6225] --- diff --git a/inertia.c b/inertia.c index a158363..fc213da 100644 --- a/inertia.c +++ b/inertia.c @@ -370,7 +370,9 @@ static int find_gem_candidates(int w, int h, char *grid, d2 = n; } i2 = (y2*w+x2)*DIRECTIONS+d2; - if (!reachable[i2]) { + if (x2 >= 0 && x2 < w && + y2 >= 0 && y2 < h && + !reachable[i2]) { int ok; #ifdef SOLVER_DIAGNOSTICS printf(" trying point %d,%d,%d", x2, y2, d2);