Tal Kelrich spotted that hitting `Solve' on a configuration which is

laser-indistinguishable from the right solution _but_ has a number
of balls outside the acceptable range does not report an error. His
example was the game ID w8h8m5M5:1e3e6e80fa3e16265ccef7ca , omitting
the rightmost ball in the second row.

[originally from svn r6542]
This commit is contained in:
Simon Tatham
2006-02-07 21:45:50 +00:00
parent acafc4d93f
commit c5001ca751

View File

@ -813,7 +813,9 @@ static int check_guesses(game_state *state, int cagey)
ret = 0;
}
}
if (ret == 0) goto done;
if (ret == 0 ||
state->nguesses < state->minballs ||
state->nguesses > state->maxballs) goto done;
/* fix up original state so the 'correct' balls end up matching the guesses,
* as we've just proved that they were equivalent. */