aboutsummaryrefslogtreecommitdiffstats
path: root/FICS
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2025-04-05 15:18:05 +0200
committerMarkus Uhlin <markus@nifty-networks.net>2025-04-05 15:18:05 +0200
commitec754962d3f4c581c380c688cba773811b5719da (patch)
tree52ff726b03feaf1af617fd48b23e414c8a7156be /FICS
parent2c753f1001beed2c63374e0ffc3b8aac8682ade6 (diff)
alg_parse_move: also check 'tmpr'
Diffstat (limited to 'FICS')
-rw-r--r--FICS/algcheck.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/FICS/algcheck.c b/FICS/algcheck.c
index 2fc2451..4e3d18d 100644
--- a/FICS/algcheck.c
+++ b/FICS/algcheck.c
@@ -269,6 +269,11 @@ alg_parse_move(char *mstr, game_state_t *gs, move_t *mt)
} else {
tmpr = r - 1;
}
+ if (tmpr < 0 || tmpr >= 8) {
+ warnx("%s: out-of-bounds array read/write: "
+ "tmpr=%d", __func__, tmpr);
+ return MOVE_AMBIGUOUS;
+ }
if (gs->board[tf][tmpr] == NOPIECE) {
if ((gs->ep_possible[((gs->onMove == WHITE) ?