From 24e3b1d5351a1f6fd3a22acf1c6edb385a50c443 Mon Sep 17 00:00:00 2001 From: Markus Uhlin Date: Sat, 4 Apr 2026 19:52:23 +0200 Subject: com_llogons: handle snprintf truncation --- FICS/comproc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'FICS/comproc.c') diff --git a/FICS/comproc.c b/FICS/comproc.c index d0f4fb9..9adab01 100644 --- a/FICS/comproc.c +++ b/FICS/comproc.c @@ -855,12 +855,15 @@ plogins(int p, char *fname) PUBLIC int com_llogons(int p, param_list param) { - char fname[MAX_FILENAME_SIZE] = { '\0' }; + char fname[MAX_FILENAME_SIZE] = { '\0' }; + int ret; (void) param; // XXX: unused - snprintf(fname, sizeof fname, "%s/%s", stats_dir, STATS_LOGONS); - return plogins(p, fname); + ret = snprintf(fname, sizeof fname, "%s/%s", stats_dir, STATS_LOGONS); + + return (is_too_long(ret, sizeof fname) ? COM_FAILED : + plogins(p, fname)); } PUBLIC int -- cgit v1.2.3