aboutsummaryrefslogtreecommitdiffstats
path: root/FICS/formula.c
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2025-03-09 01:29:45 +0100
committerMarkus Uhlin <markus@nifty-networks.net>2025-03-09 01:29:45 +0100
commitac858084d0e8b6e81eaa05e132714a6d6376afed (patch)
treee6f17467f47def9e5537f31e41ff3ecfb573b5f5 /FICS/formula.c
parenta608deb0d374cb7e1e7557d5e907ff18f02f82f2 (diff)
ChooseClauses: check the return of sscanf()
Diffstat (limited to 'FICS/formula.c')
-rw-r--r--FICS/formula.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/FICS/formula.c b/FICS/formula.c
index ffbca20..5f9fdb7 100644
--- a/FICS/formula.c
+++ b/FICS/formula.c
@@ -575,9 +575,10 @@ ChooseClauses(player *who, char *formula)
for (i = 0; formula[i] != '\0' && formula[i] != '#'; i++) {
if (formula[i] != 'f' || (i > 0 && isalnum(formula[i - 1])) ||
- !isdigit(formula[i + 1]))
+ !isdigit(formula[i + 1]) ||
+ sscanf(&formula[i], "f%d", &which) != 1)
continue;
- sscanf(&formula[i], "f%d", &which);
+
ret |= (1 << (which - 1));
}