diff options
author | Markus Uhlin <markus@nifty-networks.net> | 2025-04-05 15:18:05 +0200 |
---|---|---|
committer | Markus Uhlin <markus@nifty-networks.net> | 2025-04-05 15:18:05 +0200 |
commit | ec754962d3f4c581c380c688cba773811b5719da (patch) | |
tree | 52ff726b03feaf1af617fd48b23e414c8a7156be /FICS | |
parent | 2c753f1001beed2c63374e0ffc3b8aac8682ade6 (diff) |
alg_parse_move: also check 'tmpr'
Diffstat (limited to 'FICS')
-rw-r--r-- | FICS/algcheck.c | 5 |
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) ? |