From ac858084d0e8b6e81eaa05e132714a6d6376afed Mon Sep 17 00:00:00 2001 From: Markus Uhlin Date: Sun, 9 Mar 2025 01:29:45 +0100 Subject: ChooseClauses: check the return of sscanf() --- FICS/formula.c | 5 +++-- 1 file 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)); } -- cgit v1.2.3