From: Simon Tatham Date: Tue, 7 Jun 2005 19:07:58 +0000 (+0000) Subject: James Harvey (again) points out an array underrun in the new X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=fba6fc61eb86bcf43a0e25afb59ce539fbe96c7e;p=sgt-puzzles.git James Harvey (again) points out an array underrun in the new clash-checking code in Solo. (valgrind confirms it.) [originally from svn r5916] --- diff --git a/solo.c b/solo.c index 2f8ec23..d564ad2 100644 --- a/solo.c +++ b/solo.c @@ -2238,9 +2238,9 @@ static void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, /* Mark obvious errors (ie, numbers which occur more than once * in a single row, column, or box). */ - if ((ds->entered_items[x*cr+d-1] & 2) || - (ds->entered_items[y*cr+d-1] & 8) || - (ds->entered_items[((x/r)+(y/c)*c)*cr+d-1] & 32)) + if (d && ((ds->entered_items[x*cr+d-1] & 2) || + (ds->entered_items[y*cr+d-1] & 8) || + (ds->entered_items[((x/r)+(y/c)*c)*cr+d-1] & 32))) highlight |= 16; draw_number(fe, ds, state, x, y, highlight);