diff options
Diffstat (limited to 'FICS/ratings.c')
| -rw-r--r-- | FICS/ratings.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/FICS/ratings.c b/FICS/ratings.c index 862fdd4..f8cc424 100644 --- a/FICS/ratings.c +++ b/FICS/ratings.c @@ -688,6 +688,7 @@ rating_recalc(void) char dname[MAX_FILENAME_SIZE]; int c; int p1; + int ret; #if USE_DIRENT struct dirent *dp; #else @@ -700,7 +701,12 @@ rating_recalc(void) zero_stats(); for (c = 'a'; c <= 'z'; c++) { - snprintf(dname, sizeof dname, "%s/%c", player_dir, c); + ret = snprintf(dname, sizeof dname, "%s/%c", player_dir, c); + + if (is_too_long(ret, sizeof dname)) { + warnx("%s: too long dir name", __func__); + return; + } if ((dirp = opendir(dname)) == NULL) continue; |
