From 0a53759014aaa2d323a6d0e15459a4e00e48e50a Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 27 Aug 2005 09:53:38 +0000 Subject: [PATCH] Fix array bounds violation in the solver. Oops. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6225 cda61777-01e9-0310-a592-d414129be87e --- inertia.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); -- 2.11.0