diff options
author | Markus Uhlin <markus@nifty-networks.net> | 2025-03-09 01:29:45 +0100 |
---|---|---|
committer | Markus Uhlin <markus@nifty-networks.net> | 2025-03-09 01:29:45 +0100 |
commit | ac858084d0e8b6e81eaa05e132714a6d6376afed (patch) | |
tree | e6f17467f47def9e5537f31e41ff3ecfb573b5f5 | |
parent | a608deb0d374cb7e1e7557d5e907ff18f02f82f2 (diff) |
ChooseClauses: check the return of sscanf()
-rw-r--r-- | FICS/formula.c | 5 |
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)); } |