diff options
| author | Markus Uhlin <markus@nifty-networks.net> | 2026-03-31 22:07:23 +0200 |
|---|---|---|
| committer | Markus Uhlin <markus@nifty-networks.net> | 2026-03-31 22:07:23 +0200 |
| commit | d98787322ddab165ae3b0e2b1540c17f4fc43d8f (patch) | |
| tree | 92d6d84ac847b55e913dc2f1d6a1225f9c9ac4de /FICS | |
| parent | 4eec7f58e737a3b71d387b5c0077c1498d674b91 (diff) | |
Added fclose() error checking
Diffstat (limited to 'FICS')
| -rw-r--r-- | FICS/comproc.c | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/FICS/comproc.c b/FICS/comproc.c index dc6825a..b39de60 100644 --- a/FICS/comproc.c +++ b/FICS/comproc.c @@ -198,7 +198,10 @@ com_news(int p, param_list param) if (fgets(junk, sizeof junk, fp) == NULL || sscanf(junk, v_scan_fmt, &lval, count) != 2) { warnx("%s: error: fgets() or sscanf()", __func__); - fclose(fp); + + if (fclose(fp) != 0) + warn("%s: error: fclose", __func__); + return COM_FAILED; } @@ -211,7 +214,8 @@ com_news(int p, param_list param) crtime = lval; pprintf(p, "%3s (%s) %s", count, fix_time(strltime(&crtime)), junkp); - fclose(fp); + if (fclose(fp) != 0) + warn("%s: error: fclose", __func__); } else if (param[0].type == TYPE_WORD && !strcmp(param[0].val.word, "all")) { /* @@ -223,7 +227,10 @@ com_news(int p, param_list param) if (fgets(junk, sizeof junk, fp) == NULL || sscanf(junk, v_scan_fmt, &lval, count) != 2) { warnx("%s: error: fgets() or sscanf()", __func__); - fclose(fp); + + if (fclose(fp) != 0) + warn("%s: error: fclose", __func__); + return COM_FAILED; } @@ -236,7 +243,8 @@ com_news(int p, param_list param) crtime = lval; pprintf(p, "%3s (%s) %s", count, fix_time(strltime(&crtime)), junkp); - fclose(fp); + if (fclose(fp) != 0) + warn("%s: error: fclose", __func__); } else { /* * Check if the specific news file exist in index. @@ -262,8 +270,10 @@ com_news(int p, param_list param) } } - fclose(fp); - + if (fclose(fp) != 0) { + warn("%s: error: fclose", __func__); + return COM_OK; + } if (!found) { pprintf(p, "Bad index number!\n"); return COM_OK; @@ -281,7 +291,11 @@ com_news(int p, param_list param) return COM_OK; } - fclose(fp); + if (fclose(fp) != 0) { + warn("%s: error: fclose", __func__); + return COM_OK; + } + snprintf(filename, sizeof filename, "news.%s", param[0].val.word); @@ -795,7 +809,8 @@ plogins(int p, char *fname) (void) fprintf(stderr, "FICS: " "Error in login info format. %s\n", fname); - fclose(fp); + if (fclose(fp) != 0) + warn("%s: error: fclose", __func__); return COM_OK; } @@ -815,7 +830,8 @@ plogins(int p, char *fname) pprintf(p, "\n"); } - fclose(fp); + if (fclose(fp) != 0) + warn("%s: error: fclose", __func__); return COM_OK; } |
