From c2eedeedfe3c48f3f013fb1308f61d7ef94e8b2c Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sun, 8 Jan 2023 10:03:10 +0000 Subject: [PATCH] Black Box: correct order of validation checks for "F" commands It doesn't do much good to range-check an argument after using it as an array index. --- blackbox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blackbox.c b/blackbox.c index 7918c53..c93678a 100644 --- a/blackbox.c +++ b/blackbox.c @@ -1067,10 +1067,10 @@ static game_state *execute_move(const game_state *from, const char *move) case 'F': sscanf(move+1, "%d", &rangeno); - if (ret->exits[rangeno] != LASER_EMPTY) - goto badmove; if (!RANGECHECK(ret, rangeno)) goto badmove; + if (ret->exits[rangeno] != LASER_EMPTY) + goto badmove; fire_laser(ret, rangeno); break;